http://man.lupaworld.com/content/develop/c&c++/c/c.htm#_Toc520634066
现在向各位CSDN大牛求证,空指针的值应该是0,还是应该是NULL?
9 个解决方案
#1
就C++来说 建议空指针赋值为0.这会有更好的移植性
#2
就扔了那个林锐的破书吧。
#3
事实上NULL就等于0,所以。。。。。。
NULL是表象、0是本质
NULL是表象、0是本质
#4
NULL就是0,这是编程风格的问题
VC中的定义#define NULL 0,在windef.h里
举个例子,int bl;你说应该如何赋0值?
从编译器角度讲
bl = 0;
bl = NULL;
bl = false;
都是等价的,但是int型从风格上来说必须用0,这样程序才清晰!
VC中的定义#define NULL 0,在windef.h里
举个例子,int bl;你说应该如何赋0值?
从编译器角度讲
bl = 0;
bl = NULL;
bl = false;
都是等价的,但是int型从风格上来说必须用0,这样程序才清晰!
#5
#ifndef NULL
#ifdef __cplusplus
#define NULL 0
#else
#define NULL ((void *)0)
#endif
#endif
#6
C++一样的, C不一样。指针比较写成NULL是惯例,别人至少好阅读。
#7
char *p如果要与零值比较,就应该与NULL比较,于0比较是不规范的写法
这句应该没问题吧
至于赋值那种更好些,我也想知道
这句应该没问题吧
至于赋值那种更好些,我也想知道
#8
这个就像字符串的'\0' 和 0一个道理!
你觉得 char a = 0; 好还是 char a = '\0'; 好呢?
我觉得一样好! 嘿嘿
你觉得 char a = 0; 好还是 char a = '\0'; 好呢?
我觉得一样好! 嘿嘿
#9
哎,其实我也觉得这种问题拿来问有点不好,谢谢各位了
#1
就C++来说 建议空指针赋值为0.这会有更好的移植性
#2
就扔了那个林锐的破书吧。
#3
事实上NULL就等于0,所以。。。。。。
NULL是表象、0是本质
NULL是表象、0是本质
#4
NULL就是0,这是编程风格的问题
VC中的定义#define NULL 0,在windef.h里
举个例子,int bl;你说应该如何赋0值?
从编译器角度讲
bl = 0;
bl = NULL;
bl = false;
都是等价的,但是int型从风格上来说必须用0,这样程序才清晰!
VC中的定义#define NULL 0,在windef.h里
举个例子,int bl;你说应该如何赋0值?
从编译器角度讲
bl = 0;
bl = NULL;
bl = false;
都是等价的,但是int型从风格上来说必须用0,这样程序才清晰!
#5
#ifndef NULL
#ifdef __cplusplus
#define NULL 0
#else
#define NULL ((void *)0)
#endif
#endif
#6
C++一样的, C不一样。指针比较写成NULL是惯例,别人至少好阅读。
#7
char *p如果要与零值比较,就应该与NULL比较,于0比较是不规范的写法
这句应该没问题吧
至于赋值那种更好些,我也想知道
这句应该没问题吧
至于赋值那种更好些,我也想知道
#8
这个就像字符串的'\0' 和 0一个道理!
你觉得 char a = 0; 好还是 char a = '\0'; 好呢?
我觉得一样好! 嘿嘿
你觉得 char a = 0; 好还是 char a = '\0'; 好呢?
我觉得一样好! 嘿嘿
#9
哎,其实我也觉得这种问题拿来问有点不好,谢谢各位了