1. 声明多个指针的时候:
int* P1,P2;
如上所示,声明的是创建一个指针P1和一个int型的变量P2。而不是声明的两个指针。
对每个指针变量名,都需要使用一个*。
在C++中,int* 是一种复合类型,是指向int的指针。
2. 可以在声明语句中初始化指针,但是,在这种情况下,被初始化的是指针,而不是它指向的值。
int higgens = 5; int * pt = &higgens;
这里将pt(而不是*pt)的值设置为&higgens。
如下程序所演示:
#include<iostream> using namespace std; int main() { int higgens = 5; int *pt = &higgens; cout << higgens <<endl; cout << &higgens << endl; cout << *pt <<endl; cout << pt; cin.get(); return 0; }
输出:
5
006FFD88
5
006FFD88
3.指针的危险!!!
在C++中创建指针时,计算机将分配用来存储地址的内存,而不会分配用来存储指针所指向数据的内存,为数据提供空间是一个独立的步骤!!!也就是说指针所指向的地址并不是用来存储数据的地址!