在声明变量的时候,如果没有确切的地址可以赋值,为指针变量赋一个null值是一个良好的编程习惯,赋为NULL值的指针被称为空指针
NULL指针是一个定义在标准库中的值为0的常量
#include <iostream>
using namespace std;
int main()
{
int *ptr=NULL;
cout<<ptr;
return 0;
}
显示的结果是0
在大多数的操作系统上,程序不允许访问地址为0的内存,因为该内存是操作系统保留的,然而,内存地址0有特别重要的意义,它表明该指针不指向一个可访问的内存位置,但按照惯例,如果指针包含空值,则假定他不指向任何东西
因此,如果所有未使用的指针都被赋予空值,同时避免使用空指针,就可以防止误用一个未初始化的指针,很多时候,未初始化的变量存有一些垃圾值,导致程序难以调试