C語言指針和引用的不同之處及使用場合|天天播資訊

2023-06-14 09:08:09 來源:單片機與嵌入式

先解決兩個疑問

指針和引用的不同之處是什么?

何時用用指針?何時用引用?


【資料圖】

指針和引用的不同之處

看如下代碼:

指針是用來表示內存地址的,而指針這個整數正是被指向的變量地址。

而引用就是給變量重新起了一個名字,引用也就是“別名”。

不同之處

指針在聲明時可以暫時不初始化,當然每次使用指針時都要做檢查,以防出現空指針異常的問題0。而引用永遠都不會為空,它一定得代表某個對象。

指針存放的是地址,可以被重新賦值。而引用總是指向它最初代表的那個對象。

指針和引用使用場合

引用主要是作為函數的參數和返回值來使用的,看如下代碼:

通過vec[3] =3可改變vector容器的值,這是因為[]操作符返回的就是引用。也就是為內部的變量取了一個別名,還能讓[]操作符返回一個指針,即*vec[3]=3。實際上引用可以做的事情指針都可以做,那為什么還要使用引用?

總結

用恰當的工具做恰如其分的工作。

指針可以毫無約束的操作內存中的任何東西,功能十分強大,但也很危險,所以可以在恰當的時機使用引用。當你需要指向某個東西,絕不會讓其指向其它東西,例如有些函數參數為了避免拷貝可以使用引用,或者實現一個操作符而其語法需求無法由指針達成,例如vec[3]=3,可以使用引用,而其它任何時候,都要使用指針。

審核編輯:湯梓紅

標簽:

上一篇:開關電源控制環路設計方案 全球熱消息
下一篇:最后一頁