前几天我正在玩指针,并提出以下代码,我明确地将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;
}
Run Code Online (Sandbox Code Playgroud)
这是输出:
ffbff71c
ffbff878
Run Code Online (Sandbox Code Playgroud)
我的问题是第二个地址是什么,那里包含的内容是什么?
垃圾 - 您打印出未初始化变量的值.它看起来像你的另一个地址,完全是巧合; 初始化d以获得有意义的答案.