有没有办法如何将整数大小为100 000的4个元素放入char数组?如果我使用sprintf或itoa,数组有6个元素。我尝试使用它,但它没有用。有没有办法如何将这4个元素放回整数?
char *s;
int value = 100000;
*((int *)s)=value;
答案 0 :(得分:2)
请注意:
int value = 100000;
char *s;
*((int *)s)=value;
取消引用未初始化的指针s
,这会导致未定义的行为。你可以这样做:
int value = 100000;
char s[4];
*((int *)&s[0])=value;
请注意,这会将value
存储在由charr数组“占用”的内存块中(在内存级别),与sprintf
不同,后者会以字符串形式打印值(表示数字的字符)。