C++里NULL和0是相等吗
展开全部
NULL是空地址的意思,在使用指针变量时表示一个空地址,NULL的值在“stdio.h”头文件中被定义为一个值为0的符号常量;即
#define NULL 0 NULL的值为0
0可以表示数字0,也可以表示ASCII码值为0的字符
“ ”表示字符串的长度为0的字符串。
千万别把NULL与0等同起来。
无论C还是C++,NULL都是一个implementation-defined的宏,是实现相关的。NULL并不就是0,也不就是(void*)0。只不过,大多数编译器把NULL定义为0或者(void*)0而已,但并非所有编译器都这样做的。
一些常用的代码例如if(fpFile = fopen(....) == ....)应该显式地跟NULL比较,而不要只写if(fpFile = fopen(....)),这是不良代码。
#define NULL 0 NULL的值为0
0可以表示数字0,也可以表示ASCII码值为0的字符
“ ”表示字符串的长度为0的字符串。
千万别把NULL与0等同起来。
无论C还是C++,NULL都是一个implementation-defined的宏,是实现相关的。NULL并不就是0,也不就是(void*)0。只不过,大多数编译器把NULL定义为0或者(void*)0而已,但并非所有编译器都这样做的。
一些常用的代码例如if(fpFile = fopen(....) == ....)应该显式地跟NULL比较,而不要只写if(fpFile = fopen(....)),这是不良代码。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询