空指针

时间:2025-05-09 07:31:17

文章目录

  • 空指针
    • 1. 什么是空指针
    • 2. 空指针的表示
    • 3. 什么时候使用空指针
    • 4. 代码示例

空指针

1. 什么是空指针

空指针是一个特殊的指针,也是一个对任何指针类型都合法的指针,指针变量具有空指针值,表示它处于闲置状态,没有指向任何有意义的内容

2. 空指针的表示

标准库定义了一个与数值0等价的符号常量NULL,程序中可以写ptr = 0 或者ptr = nullptr;两种写法都是表示ptr指针为空指针,C语言保证这个值不会是任何对象的地址

3. 什么时候使用空指针

如果定义指针时,未将指针指向特定的对象,应该将指针置空; int * ptr = NULL;

使用free或者delete指针后,应该将指针置空,避免野指针的产生;delete *ptr ; ptr = NULL;

4. 代码示例

#include <>
int main(){
    int n = 3;
    int * int_ptr = NULL;
    void * void_ptr = NULL;
    void_ptr = &n;
    int_ptr = (int *)void_ptr;
    printf("%d\n", *(int_ptr));
    return 0;
}