iT邦幫忙

2024 iThome 鐵人賽

DAY 16
0
Software Development

用30天學習C++系列 第 16

Day16 雙重指標與參照

  • 分享至 

  • xImage
  •  

今天繼續來學習指標~~


1.雙重指標

指標是指向某個變數的位址,也就是說,只要透過指標內所存放的位址,即可存取該變數的內容。很特殊的是,在C++裡,指標不但可以指向任何一種資料型態的變數,還可以指向指標,這種指向指標的指標(pointer to pointer),我們稱為雙重指標。

雙重指標的宣告格式如下:

資料型態 **雙重指標;

我們舉一個簡單的例子來說明雙重指標的使用

https://ithelp.ithome.com.tw/upload/images/20240930/20169410IlOo89tu0i.jpg

//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;
} 

2.指標與參照

指標與參照看起來有點相似,卻又不太一樣,我們來將他們做個比較,幫助你對他們又更清楚的認識!

指標是利用「位置運算子&」以及「依址取值運算子*」來取得指向變數的位址及其內容。

參照則是利用「參照運算子&」取得欲參考變數的位址,直接代替該變數。用下列程式碼來舉例:

int i=15;   //宣告整數變數i
int &ref=i  //宣告參照的同時,需先做初始化的動作,也就是設定初值。

參照在宣告時就必須為它設定參考的變數。不但如此,參照所參考的對象一經設定就無法更改,必須從依而終。


今天就到這邊~謝謝大家!


上一篇
Day15 指標的陣列與字串
下一篇
Day17 結構
系列文
用30天學習C++30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言