Pav*_*van 4 c pointers segmentation-fault
我想打印指针指向的内容.这是我的代码:
int main(){
int* pt = NULL;
*pt = 100;
printf("%d\n",*pt);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这给了我一个分段错误.为什么?
Lih*_*ihO 11
这些线:
int* pt = NULL;
*pt = 100;
Run Code Online (Sandbox Code Playgroud)
正在取消引用NULL指针(即您尝试将值100存储到地址处的内存中NULL),这会导致未定义的行为.尝试:
int i = 0;
int *p = &i;
*p = 100;
Run Code Online (Sandbox Code Playgroud)
因为您正在尝试写入地址NULL.
尝试:
int main(){
int val = 0;
int* pt = &val;
*pt = 100;
printf("%d\n",*pt);
return 0;
}
Run Code Online (Sandbox Code Playgroud)