关于指针

#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);
}

原文地址:https://www.cnblogs.com/jackhub/p/3147260.html