gpt4 book ai didi

c - 将int存储在C中的char数组中

转载 作者:行者123 更新时间:2023-12-04 09:13:03 25 4
gpt4 key购买 nike

我正在尝试将 int 值存储在 char 数组中,然后再次访问它以检索值。这是我尝试过的,但它没有像我正在寻找的那样工作。

char mem[50];
int* size = (int*)&mem[0];

char* isFree = (char*)&mem[4];

char *t = (char *)&mem[4];

现在我想把1234和'f'按顺序存入char数组。 (前 5 个字节内)

我不允许使用其他变量,必须使用 char 数组。

int a = 1234;
int *size = &a;

以上一个是不允许的。

最佳答案

您必须使用 unsigned char 类型来复制内存或 memcpy 来为您执行此操作。将 char 数组别名为 int 在 C 中是未定义的。

存储值:

int value = 1234;
memcpy( mem, &value, sizeof(value) );

获取值:

memcpy( &value, mem, sizeof(value) );

(数组 mem 必须足够大以容纳 int 类型。)

关于c - 将int存储在C中的char数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33675946/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com