今天繼續來學習指標~~
指標是指向某個變數的位址,也就是說,只要透過指標內所存放的位址,即可存取該變數的內容。很特殊的是,在C++裡,指標不但可以指向任何一種資料型態的變數,還可以指向指標,這種指向指標的指標(pointer to pointer),我們稱為雙重指標。
資料型態 **雙重指標;
//prog10_1,雙重指標的範例
#include <iostream>
#include <cstdlib>
using namespace std;
int main(void){
int n=20,*p,**pp;
p=&n;
pp=&p;
cout << "n=" << n << ", &n=" << &n << endl;
cout << "*p=" << *p << ", p=" << p << ", &p=" << &p << endl;
cout << "**pp=" << **pp << ", *pp=" << *pp;
cout << ", pp=" << pp <<", &pp=" << &pp << endl;
system("pause");
return 0;
}
指標與參照看起來有點相似,卻又不太一樣,我們來將他們做個比較,幫助你對他們又更清楚的認識!
指標是利用「位置運算子&
」以及「依址取值運算子*
」來取得指向變數的位址及其內容。
參照則是利用「參照運算子&
」取得欲參考變數的位址,直接代替該變數。用下列程式碼來舉例:
int i=15; //宣告整數變數i
int &ref=i //宣告參照的同時,需先做初始化的動作,也就是設定初值。
參照在宣告時就必須為它設定參考的變數。不但如此,參照所參考的對象一經設定就無法更改,必須從依而終。
今天就到這邊~謝謝大家!