Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
有没有办法将整数大小的 100 000 放入 char 数组的 4 个元素中?如果我使用 sprintf 或 itoa,数组有 6 个元素。我尝试使用它,但它没有用。有什么办法可以将这 4 个元素恢复为整数?
char *s; int value = 100000; *((int *)s)=value;
注意:
int value = 100000; char *s; *((int *)s)=value;
取消引用未初始化的指针s,这会导致未定义的行为。你可以这样做:
s
int value = 100000; char s[4]; *((int *)&s[0])=value;
请注意,这存储value在 charr 数组(在内存级别)“占用”的内存块中,这与 charr 数组不同sprintf,它将以字符串形式打印值(表示数字的字符)。
value
sprintf