搞不清楚NULL, "", '\0', '0', 0, "0"的程序猿(C系列)应该好好练习基本功

         我们首先来说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'结尾。 这次我就不捣鼓程序了, 不清楚的, 请自己写程序玩吧, 验证一下, 还是有好处的微笑


你可能感兴趣的:(搞不清楚NULL, "", '\0', '0', 0, "0"的程序猿(C系列)应该好好练习基本功)