
- C++基础
- C++主页
- C++概述
- C++环境设置
- C++基本语法
- C++注释
- C++ Hello World
- C++省略命名空间
- C++常量/字面量
- C++关键字
- C++标识符
- C++数据类型
- C++数值数据类型
- C++字符数据类型
- C++布尔数据类型
- C++变量类型
- C++变量作用域
- C++多个变量
- C++基本输入/输出
- C++修饰符类型
- C++存储类
- C++运算符
- C++数字
- C++枚举
- C++引用
- C++日期和时间
- C++控制语句
- C++决策
- C++ if语句
- C++ if else语句
- C++嵌套if语句
- C++ switch语句
- C++嵌套switch语句
- C++循环类型
- C++ while循环
- C++ for循环
- C++ do while循环
- C++ foreach循环
- C++嵌套循环
- C++ break语句
- C++ continue语句
- C++ goto语句
- C++构造函数
- C++构造函数和析构函数
- 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
因此,如果所有未使用的指针都赋予空值,并且避免使用空指针,则可以避免意外滥用未初始化的指针。许多时候,未初始化的变量包含一些无用值,这使得程序调试变得困难。
cpp_pointers.htm
广告