Basi c пример хранения int переменной в массиве char . Помните, что ограничивает значения различных типов переменных, таких как char.
#include <stdio.h>
#include <limits.h>
int main(void) {
int a = CHAR_MAX;
unsigned char b[1];
b[0] = (unsigned char) a;
printf("%d\n", a);
printf("%hhd\n", b[0]);
return (0);
}
Вывод:
➜ Desktop gcc -Wall -Werror -Wextra main.c
➜ Desktop ./a.out
127
127
Если вы хотите преобразовать свое int в char массив, а не просто приведение, тогда вам, вероятно, понадобится собственная реализация функции itoa (), например:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char* itoa(int val, int base){
static char buf[32] = {0};
int i = 30;
for(; val && i ; --i, val /= base)
buf[i] = "0123456789abcdef"[val % base];
return &buf[i+1];
}
int main(void) {
int a = 127;
printf("Value = %s\n", itoa(a, 10));
return (0);
}
Вывод:
➜ Desktop gcc -Wall -Wextra -Werror file.c
➜ Desktop ./a.out
Value = 127