在 C 语言中,null 表示空指针,即一个预定义宏,通常定义为 (void )0,用于指示指针不指向任何对象或对象已被销毁。因此,与 void 指针不同,null 指针始终指向空值,且不能被解引用,在比较指针相等时应使用 == 或 != 运算符,在将指针赋值为 null 之前需检查指针是否为 null。

null在C语言中的含义
null在C语言中是一个特殊的值,表示空指针。它是一个预定义的宏,它的值通常被定义为(void *)0,其中(void *)强制类型转换为void类型指针。
null指针的用途
null指针用于指示以下情况:
立即学习“C语言免费学习笔记(深入)”;
- 指针不指向任何对象
- 指向的对象已被销毁或不再有效
- 函数的参数未提供任何值
- 作为函数返回值,表示函数没有返回值
null指针与void *指针的区别
null指针是一个void *指针,但反之则不然。void *指针可以指向任何类型的对象,而null指针始终指向空值。
使用null指针的注意事项
- 不要对
null指针进行解引用,因为它将导致未定义的行为。 - 在比较指针是否相等时,使用
==或!=运算符,而不是或>运算符。 - 在将指针赋值给
null之前,务必先检查指针是否为null。
示例
以下代码展示了如何使用null指针:
#includeint main() { int *ptr = NULL; // 将指针设置为 null if (ptr == NULL) { printf("指针指向空值"); } else { printf("指针指向某个对象"); } return 0; }
输出:
指针指向空值











