#include <stdio.h>
void main(){
int *p=NULL;
*p=5;
printf("%d/n",*p);
}
这串代码编译时没有错误,但是执行不了,为什么呢?是因为*p的定义,初始化问题,像这样定义是不行的,因为根本就没有明确的给指针变量p指定一个内存区域,只是将整数5的地址给了p。造成了运行时的错误!
代码修改:
#include <stdio.h>
void main(){
int *p=NULL,a;
a=5;
p=&a;
printf("%d/n",*p);
}