指標不只可以指向任何型態的變數
還可指向陣列、函數、類別,結構
甚至還可以指向另一個指標
這種指向指標的指標
稱為雙重指標
指標存放的是變數的位址
雙重指標存放的是另一個指標的位址
透過這個位址
可以找到雙重指標所指向的指標變數
再間接存取指標所指向的內容
宣告
資料型態 **雙重指標名稱;
Ex:
[code language=”cpp”]
#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 <<span style="display: inline-block; width: 0px; overflow: hidden; line-height: 0;" data-mce-type="bookmark" class="mce_SELRES_start"></span>< endl;
}
[/code]