[指標] 雙重指標

指標可以指向某個變數
透過指標儲存的位址
就可以取用該變數內容

指標不只可以指向變數
還可以指向另一個指標

雙種指標存放另一個指標變數的位址
根據這個位址
我們可以找到該指標變數
再間接存取該內容

宣告格式:

  • 指標變數宣告格式:

型態* 指標變數名稱;

 

  • 雙重指標宣告格式:
                  型態** 雙重指標變數名稱;
Ex:

 

#include <iostream>
using namespace std;

int main(){
 
 int n=10;   //宣告整數型態變數 
 int* p1;    //宣告整數型態指標變數
 int** p2;   //宣告整數型態雙重指標變數 
 
 p1=&n;      //將變數n的位址指定給指標p1 
 p2=&p1;     //將指標p1的位址指定給雙重指標p2  
 
 cout << "n=" << n << endl;
 cout << "&n=" << &n << endl;
 cout << "p1=" << p1 << endl;
 cout << "&p1=" << (&p1) << endl;
 cout << "p2=" << p2 << endl;
 cout << "&p2=" << (&p2) << endl;
 cout << "*p1=" << *p1 << endl;
 cout << "*p2=" << *p2 << endl;
 cout << "**p2=" << **p2 << endl; 
 
}



由上面可以知道:
**p2是雙重指標p2最後指向的變數(變數n)的內容
p2的值是p1的位址
p1的值是變數n的位址
*p2就是雙重指標指向的變數(指標變數p1)的內容

有疑問? 留個言吧!

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料