关于指针

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

posted @ 2009-06-18 12:03  胡.杰  阅读(129)  评论(0编辑  收藏  举报