前几天我在玩指针,想出了下面的代码,我明确地将一个 int
变量转换为 int *
并打印出指针的地址显式转换变量
#include <stdio.h>
int main (void)
{
int d;
int *p1, *p2;
printf("%p\n", p1 = &d);
printf("%p\n", p2 = (int *) d);
return 0;
}
这是输出:
ffbff71c
ffbff878
我的问题是第二个地址是什么,那里包含什么?
最佳答案
垃圾 - 您正在打印出未初始化变量的值。它看起来像您的其他地址,这完全是巧合;初始化 d
以获得有意义的答案。
关于c - 这个指针赋值返回什么地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36649718/