将整数放入4个char数组元素中

时间:2013-10-18 22:22:25

标签: c arrays

有没有办法如何将整数大小为100 000的4个元素放入char数组?如果我使用sprintf或itoa,数组有6个元素。我尝试使用它,但它没有用。有没有办法如何将这4个元素放回整数?

char *s; 
int value = 100000; 
*((int *)s)=value;

1 个答案:

答案 0 :(得分:2)

请注意:

int value = 100000; 
char *s; 
*((int *)s)=value;

取消引用未初始化的指针s,这会导致未定义的行为。你可以这样做:

int value = 100000; 
char s[4]; 
*((int *)&s[0])=value;

请注意,这会将value存储在由charr数组“占用”的内存块中(在内存级别),与sprintf不同,后者会以字符串形式打印值(表示数字的字符)。