gpt4 book ai didi

c - 为什么下面会打印它的作用?

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

typedef unsigned char byte;

unsigned int nines = 999;
byte * ptr = (byte *) &nines;


printf ("%x\n",nines);
printf ("%x\n",nines * 0x10);
printf ("%d\n",ptr[0]);
printf ("%d\n",ptr[1]);
printf ("%d\n",ptr[2]);
printf ("%d\n",ptr[3]);

输出:

3e7
3e70
231
3
0
0

我知道前两个只是 999 和 999*16 的十六进制表示。剩下的4个是什么意思? ptr[0] 到 ptr[3]?

最佳答案

很可能你在 32 位 LE 系统上运行它 999 十六进制是:-
00 00 03 E7 - 它在内存中的存储方式是
E7 03 00 00 因此:-

ptr[0]指向包含E7的字节,十进制为231
ptr[1]指向包含03的字节,十进制为3
ptr[2]指向包含00的字节,十进制为0
ptr[3]指向包含00的字节,十进制为0

喂!

关于c - 为什么下面会打印它的作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44617391/

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