NULL的含义是什么
问题描述:
NULL的含义是什么
是空值
还是未知的值
答
NULL的 英文意思是 “没有东西”“空”
C 语言中 是 宏 定义.
#include里是:
#ifndef NULL
#ifdef__cplusplus
#define NULL0
#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)