gpt4 book ai didi

c - 将整数分配给取消引用的字符指针

转载 作者:行者123 更新时间:2023-12-04 08:17:02 24 4
gpt4 key购买 nike

int main(){
char a = 5;
char *p = &a; // 8 bits
int num = 123456789; // 32 bits
*p = num;
return 0;
}
由于 a 是 1 字节而 num 是 4 字节, *p = num 是否在将 num 分配给 a 之前将其截断为 1 字节?或者 32 位值被写入内存并破坏堆栈?

最佳答案

由于您正在分配 int值到 char ,该值以实现定义的方式转换为在 char 的范围内。 (很可能,num 的低位字节将是分配的值)。
您正在取消引用 char * 的事实分配给 char不会改变这一点。和你做的一样a = num; .

关于c - 将整数分配给取消引用的字符指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65661325/

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