#include <iostream> using namespace std; int main () { int var = 20; // 實際變量的聲明 int* ip; // 指針變量的聲明 ip = &var; // 在指針變量中存儲 var 的地址 cout << "Value of var variable: "; cout << var << endl; //20,由於ip等於的是var的地址,因此var值不變,仍舊是20 int** b=&ip; //把一個指針的地址給b賦值,那麼b指向的地址裏應該是放了一個地址,這個地址指向var,也就是20 cout << "Value of ip variable: "; cout << ip << endl; //地址,&var表示的是地址,因此ip等於地址 cout << "Value of *ip variable: "; cout << *ip << endl; //20,ip本是一個地址,可是×在指針面前表示能把打印出地址的內容, cout << "Value of *b variable: "; cout << *b << endl; //地址,此處打印的是ip內存放的var的地址,由於×b表示把b指向的地址翻譯爲該地址的內容,而b等於ip的地址,ip地址的內容存放的是var的地址,因此打印的是var的地址 // 訪問指針中地址的值 cout << "Value of **b variable: "; cout << **b << endl; //20;此處表示把b(ip的地址)翻譯爲內容(等於var的地址),而後再翻譯爲內容。 return 0; }