gpt4 book ai didi

c - c 中指针的类型转换

转载 作者:行者123 更新时间:2023-11-30 19:54:57 26 4
gpt4 key购买 nike

整数指针到字符指针的转换如何工作?我有一个整数值为 320 的程序,我正在将其类型转换为 char*。它将显示输出 64。我想知道它是如何工作的?

#include <stdio.h>

int main()
{
int i=320;
char *p=(char*)&i;
printf("%d",*p);

return 0;
}

最佳答案

那么,在您的小端系统上,我们假设 sizeof (int) 为 4。

那么i的内存看起来像:

   +--+-+-+-+
i: |64|1|0|0|
+--+-+-+-+

这是因为 320 是 0x00000140,即 320 = 1 * 256 + 64。

因此,您将 p 设置为指向第一个字节 (64),然后取消引用它以便读取单个字节。

你的最后一行是错误的,你的意思是:

printf("%d\n", *p);

关于c - c 中指针的类型转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44780040/

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