我用未初始化的指针观察这种奇怪的行为.
从下面的示例中可以看出,有时它会打印一个NULL值,而有些则会以交替的方式打印一个有效的地址.
为什么会这样?
代码:
int *i;
printf("%p\n", i);
Run Code Online (Sandbox Code Playgroud)
输出:(
零)
代码:
int *i;
printf("%p\n", i);
int *j;
printf("%p\n", j);
Run Code Online (Sandbox Code Playgroud)
输出:
0x7fff2d0c1b50
(无)
代码:
int *i;
printf("%p\n", i);
int *j;
printf("%p\n", j);
int *k;
printf("%p\n", k);
Run Code Online (Sandbox Code Playgroud)
输出:(
无)
0x7fffda5284b0
(无)
代码:
int *i;
printf("%p\n", i);
int *j;
printf("%p\n", j);
int *k;
printf("%p\n", k);
int *l;
printf("%p\n", l);
Run Code Online (Sandbox Code Playgroud)
输出:
0x400510
(无)
0x7fff6d7089c0
(无)
代码:
int *i;
printf("%p\n", i);
int *j;
printf("%p\n", …Run Code Online (Sandbox Code Playgroud)