NULL, NUL, EOF, '',0区别

NULL: 定义为0或0L或(void *)0,用于指示一个指针值是空,即什么都不指;
'': 用且只用字符串结束符;
NUL : 0x00,0值字符,可以用于结束ASCII字符串,和''类似,但是在c/c++中没有定义,如果要使用的话,需要自定义为 #define NUL '';
EOF :通常定义为-1, 文件结束符标志,一般是ctrl+z.

1.0 can be used anywhere, it is the generic symbol for each type's zero value and the compiler will sort things out.

2.'' should be used only in a character context.

3.NULL is to be used for pointers only since it may be defined as ((void *)0), this would cause problems with anything but pointers.

4.nul is not defined in C or C++, it shouldn't be used unless you define it yourself in a suitable manner, like:#define nul ''

原文地址:https://www.cnblogs.com/gjianw217/p/3265477.html