CPP学习之——空指针(8.3)

一 概述

我们知道指针就是用来保存内存地址的变量,因此我们定义一个指针后一定要用它来保存一个内存地址,假如我们不那么做,那么该指针就是一个失控指针,它可以指向任何地址,并且对该地址的数值进行修改或者删除,后果是非常可怕的。

二 解决办法

  • 解决办法是将该指针初始化为0

三 代码及结果

3.1 代码

1
2
3
4
5
6
7
8
#include<iostream>
using namespace std;
int main()
{
int *p=0;
cout<<"p:"<<p<<endl;
return 0;
}

3.2 输出结果

1
p:0

3.3 代码说明

  • int *p; 这条语句定义了一个指向整型变量的指针p
  • p=0;这条语句是将变量p中所保存的内存地址清零,这样指针p就不会因为我们的疏忽而随意指向任意一个地址并且修改改地址的值
  • 以上两句可以合并为一句:int *p=0;这样可以在定义指针的同时,对其进行初始化,初始化值为0
  • 这个地址是不会存放任何数据的,我们大可以对它进行任意的操作,都不会产生严重的后果