永发信息网

请问NULL,0,\0,未分配 之间究竟是什么区别???

答案:3  悬赏:10  手机版
解决时间 2021-04-15 22:06
也就是c/c++中的这些定义或者数据之间的实际区别?
最佳答案
实质上没有区别,都是0
只不过由于高级语言有类型检查,所以才把他们识别为NULL,0和'\0'三种形式,分别用在不同类型的操作之中
以上三种形式分别表示空指针,数值0和空字符

不过c++里0就表示空指针,而不用NULL
c里边NULL是 ((void*)(0))
你可以去c里的头文件里找,c++里stdio.h定义的形式是
#ifndef NULL
#ifdef __cplusplus
#define NULL 0
#else
#define NULL ((void *)0)
#endif
#endif
全部回答
首先说明,0一般指数字0这和ascii的\0和宏替换NULL在数值上是完全一样的,所占存储空间,根据0的数据类型不同而不同,\0和NULL却不存在这个问题。一般\0用来判断字符串或者文件结尾,用NULL判断打开文件等操作是否成功。数字0一般用来进行运算,ascii字符0在数值上不等于0也是一个特例。
NULL 表示为空 比如指针判断 就可以用NULL 不过NULL的实质就是0 可以查看下NULL的宏 实质就是 #define NULL 0 0呢 可以表示数字 可以表示假 \0表示一个字符串的结尾 比如char a[9]="aabbcc"; 以上字符只有6个 但是空间却有9个 遍历时如何判断已经到了字符结尾呢? 判断当前字符是否等于'\0‘就可以了
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
给女儿的小学毕业寄语,祝福闺蜜喜得爱女赠言
为什么每次开机后都会弹出错误,EAccessViola
如图(a)中刻度尺的分度值为______,木块的
方圆·经纬花园在什么地方啊,我要过去处理事
铁西的室内篮球馆
豹去掉又边加个召是什么字
好听的民谣歌曲有哪些,有哪些最好听的民谣歌
农历十月二十九是什么星座?
经常喝碧生源减肥茶会影响健康吗
朵妍护肤中心怎么去啊,有知道地址的么
悬崖勒马什么意思
中国买达卡他韦都是什么价格 ,请告知
保持年轻心态的名句,形容年轻人 诗句
是不是成长、都要经过被伤的?
三分之一是谁的算数平方根,(-2)平方 是谁
推荐资讯
我们的存在52话中很不理解山本对竹内说的那番
如何下载百合
龙口中心医院女护士跟龙口论坛有什么关系
各位美女、帅哥们,怎么能心静呢?
到南方旅游的一句话,关于江南秋天的诗句
保险是传销吗?
He has to _ on what answer to give .
暧昧的句子霸气十足,表达暧昧的诗句
G85/XK08(路口)在什么地方啊,我要过去处理事
已知三角形的三条边长a,b,c.的长度怎样求三角
没有结果的感情是否还要继续
广州白云机场停车费怎么收,如果按天是多少一
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?