C++ 空指针

C++ 空指针

在变量声明时,将指针NULL赋值给指针变量是一个好的实践,以防你没有确切的地址要被赋值。一个被赋值为NULL的指针被称为 null 指针。

空指针是一个值为零的常量,在多个标准库中定义,包括iostream。考虑以下程序:

#include <iostream>

using namespace std;
int main () {
   int  *ptr = NULL;
   cout << "The value of ptr is " << ptr ;

   return 0;
}

当以上代码被编译并执行时,会产生以下结果 −

The value of ptr is 0

大多数操作系统不允许程序访问地址0的内存,因为该内存被操作系统预留。然而,内存地址0具有特殊的意义;它表示指针不指向可访问的内存位置。但根据约定,如果指针含有空(零)值,就假定它指向了空。

要检查空指针,可以使用如下的if语句:

if(ptr)     // succeeds if p is not null
if(!ptr)    // succeeds if p is null

因此,如果将所有未使用的指针赋予空值并避免使用空指针,就可以避免对未初始化指针的意外误用。许多时候,未初始化的变量保存一些垃圾值,这使得调试程序变得困难。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程