我们首先来说NULL, 在VC++6.0中, NULL是这么定义的:
#ifndef NULL #ifdef __cplusplus #define NULL 0 #else #define NULL ((void *)0) #endif #endif也就是说, 在C中, NULL是一个指针, 而在C++中,NULL就是0, 但是该0可以与指针进行比较。 可以这么理解: C/C++中, NULL是 空指针。
然后来看"", 这是一个字符串, 他是一个空串, 求一下sizeof就知道, 空串的size为1, 其第一个字符是'\0'.
那什么是'\0', 这个是字符, 可以读作字符杠零 ,它的ascii值为0.
我们继续看'0', 这个也是字符, 读取字符零, 它的ascii值为48
我们继续看0, 他是个整数零
最后我们来开"0", 这是个零字符串, 它的第一个字符是'0', 第二个字符是'\0', 求sizeof后, 长度是2
所有的C/C++字符串都默认以'\0'结尾。 这次我就不捣鼓程序了, 不清楚的, 请自己写程序玩吧, 验证一下, 还是有好处的