NULL、NUL、‘\0’、0以及EOF

0 is an integer constant,

'\0' is a character constant,

nul is the name of the character constant.

NULL is a macro defined in several standard headers,

All of these are *not* interchangeable:

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

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

'\0' should be used only in a character context.

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 '\0'

EOF :通常定义为-1, 文件结束符标志,一般是ctrl+z.

关于EOF的详细介绍可以参考http://www.ruanyifeng.com/blog/2011/11/eof.html

posted @ 2014-02-26 19:59  ITtecman  阅读(512)  评论(0编辑  收藏  举报