黑马程序员技术交流社区
标题:
NULL和0有啥区别啊?
[打印本页]
作者:
西域男孩刚
时间:
2015-9-4 23:45
标题:
NULL和0有啥区别啊?
今天上课,int *p=NULL,但是int *p=0,是错误的,为啥啊?
作者:
qq350106106
时间:
2015-9-4 23:49
0在一定程度上代表的是一个数值,但是NULL 在一定程序上代表的是空!
二者具体来说区别不大
作者:
weicongcing
时间:
2015-9-5 02:06
首先还是要明白int *p代表一个什么意思;
通常我们会这样写
int a=0;
int *p=&a; // 表示指针变量p指向数据类型为int 类型的a的存储空间
所以p代表的值是存储空间,也就是存储地址。
而int *p=0中的0是一个int类型的数值,所以是不能赋值给p的
作者:
15325501970
时间:
2015-9-5 08:15
int表示数据类型,*p表示指针指向指针变量p的首地址,int *p=NULL可以理解为这个地址是空的,int *p=0可以理解为你在为一个指针进行赋值,指针不能赋值的,指针变量才能进行赋值,估计你写int *(*p)=0可也。
作者:
15325501970
时间:
2015-9-5 08:17
我也是新手,楼上纯属个人理解,可能是错误的,望楼主试试,再回复一下我是对是错,谢谢
作者:
西域男孩刚
时间:
2015-9-5 08:56
weicongcing 发表于 2015-9-5 02:06
首先还是要明白int *p代表一个什么意思;
通常我们会这样写
int a=0;
哦哦!这下清楚了
作者:
yibyli
时间:
2015-9-5 12:10
int *p=NULL,等于int *p,p = NULL;地址为空,并不能简单的赋值为0,需要赋值为NULL
作者:
小笼包
时间:
2015-9-5 19:54
哦,涨姿势
作者:
七爷上课前
时间:
2015-9-5 19:56
长知识了
作者:
lxszl
时间:
2015-9-5 21:10
学习了.
作者:
Music_棍棍
时间:
2015-9-5 21:25
这个叫什么来着 野指针
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2