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++中創建指針時,計算機將分配用來存儲地址的內存,而不會分配用來存儲指針所指向數據的內存,為數據提供空間是一個獨立的步驟!!!也就是說指針所指向的地址並不是用來存儲數據的地址!