黑马程序员技术交流社区

标题: 被这题困扰很久 [打印本页]

作者: a124113798    时间: 2015-9-8 23:32
标题: 被这题困扰很久
#include <stdio.h>

int main(){
        int *p = NULL;
        int a =3;
        *p =a;
        printf("%p\n",p);
       
        return 0;
}
作者: Meracle    时间: 2015-9-9 11:11
内存非法访问吧。
int *p = NULL;p指向NULL,然后你将a的值放在p指向的内存中,就是NULL。
作者: 408205555    时间: 2015-9-9 11:52
楼上说的不完全对哦。p=NULL,p是没有地址的,它连地址都没有怎么存值呢?所以肯定会报错了。
作者: jsh_513    时间: 2015-9-9 13:43
int *p = NULL;  //表示把指针变量   p   指向空null(0x0),也就是什么也不指; *p =a,则 a 的值无处存放,所以系统会报错!!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2