c++指針實例

#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;
}
相關文章
相關標籤/搜索