没有初始化的指针变量是危险的。可是如果在声明变量之后,找不到合适的地址进行初始化,我们该怎么办呢?显然,随便找个地址对指针变量做初始化是不负责任的。 在这里,我们引入一个特殊的地址——NULL。它的意思是“空”,即指针没有指向任何东西。比如: int *iptr=NULL; 要注意的是,C++是大小写敏感的,NULL与null是不同的。所以,在使用的时候必须要大写。
下面,我们来看一段程序,实践一下如何使用指针变量:(程序8.2) #include "iostream.h" int main() { int i=3; int *iptr=&i; int **iptrptr=&iptr;//iptr也是变量,也能够获取它的地址 cout <<"Address of Var i=" <<iptr <<endl;//输出iptr存储的内容,即i在内存中的地址 cout <<"Data of Var i=" <<*iptr <<endl;//输出iptr所指向的变量 cout <<"Address of Pointer iptr=" <<iptrptr <<endl;//输出iptr在内存中的地址 cout <<"Address of Var i=" <<*iptrptr <<endl;//输出iptrptr所指向的变量,即iptr *iptr=2+*iptr;//*iptr可以作左值 cout <<"Data of Var i=" <<*iptr <<endl; return 0; }
运行结果: Address of Var i=0x0012FF7C Data of Var i=3 Address of Pointer iptr=0x0012FF78 Address of Var i=0x0012FF7C Data of Var i=5