我试图初始化"init_pointer"函数内的整数指针"p".函数返回后,我打印指针和解除引用的值两次.第一个取消引用打印预期值100,但第二个取消引用打印随机值.
#include<stdio.h>
void init_pointer(int d, int **c){
(*c) = &d;
}
int main(){
int x = 100;
int *p;
init_pointer(x,&p);
printf("pointer = %p, value = %d\n",p,*p);
printf("pointer = %p, value = %d\n",p,*p);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出:
pointer = 0x7fffb4d4b9ac, value = 100
pointer = 0x7fffb4d4b9ac, value = 32567
Run Code Online (Sandbox Code Playgroud)