黑马程序员技术交流社区
标题:
有关int *p=NULL;的问题
[打印本页]
作者:
LSwbfil2015
时间:
2015-8-13 11:37
标题:
有关int *p=NULL;的问题
int *p1; p1 = NULL; int a = 5; *p1 = a; printf("%p",p1);
输出结果不是NULL,这是什么错误?
野指针错误?
空指针错误?
作者:
wowthe1st
时间:
2015-8-13 12:58
程序出错,这个应该算是空指针错误,空指针指向的是不存在的区域,给不存在的区域赋值自然就出错了
作者:
丁铭检
时间:
2015-8-13 13:15
应该事控制证错误。。
作者:
xiaoguang
时间:
2015-8-13 21:12
这个......这个........
作者:
Sinyuyu
时间:
2015-8-13 21:13
空指针,程序报错
作者:
墨琰
时间:
2015-8-13 22:49
null是宏定义的,代表0
作者:
yushimin763
时间:
2015-8-14 11:12
上来就定义了一个空指针.....
作者:
65006636
时间:
2015-8-14 14:29
空指针p不指向任何变量,给*p赋值是错误的
作者:
nulifendou
时间:
2015-8-14 21:28
我也疑惑这个问题
作者:
飓风少年
时间:
2015-8-14 21:40
是个野指针。
作者:
fellerlong
时间:
2015-8-15 19:00
你写法就不对。int *p1;p1=NULL;int a=5;p1=&a;printf("%d",p1);
作者:
neverbloom7
时间:
2015-8-15 22:56
楼主的是空指针错误,这个赋值的指针 int *p;int a=1;*p=a;是野指针报错
作者:
胥鹏飞
时间:
2015-8-15 23:17
我也很迷糊
作者:
neverbloom7
时间:
2015-8-16 08:24
neverbloom7 发表于 2015-8-15 22:56
楼主的是空指针错误,这个赋值的指针 int *p;int a=1;*p=a;是野指针报错
不对我也是醉了,楼主这个就是野指针报错
作者:
墨琰
时间:
2015-8-16 22:51
这个指针刚开始时指向NULL,之后对它进行了*p=a,改变了指向,它指向了变量a在内存中存储的首地址
作者:
Edware
时间:
2015-8-16 23:30
nt *p1; p1 = NULL; int a = 5; *p1 = a; printf("%p",p1);
输出结果肯定不是null。应该是一个地址,这是存放变量5的地址,因为你让指针指向了存放5的地址。
作者:
aidan
时间:
2015-8-19 14:00
你这里*p1=a。。。
前面p1为空指针,这里给一个没有地址的地方赋值
有问题吧
如果是p1=&a就不会有问题了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2