NULL的 英文意思是 “没有东西”“空”
C 语言中 是 宏 定义。
#include <stdio.h> 里是:
#ifndef NULL
#ifdef
__cplusplus
#define NULL
0
#else
#define NULL
((void *)0)
#endif
#endif
意思是:
如果前面已定义了 NULL 则不 改变它,完毕。
如果前面没有定义NULL 但是 定义了 __cplusplus (C++) 则 定义 为 0,完毕。
如果前面没有定义NULL 也 没有 定义 __cplusplus ,则定义 为
((void *)0),完毕。
其他头文件也可以重新定义NULL
----------
到底NULL是什么,取决于程序包含的头文件。
当然,你自己也可以定义它:
#define NULL 0
----------
一般来说,NULL 可能是
0, 也可能是 ((void *)0)