C语言面试-指针和引用的使用场景?
先解決兩個疑問
◆?指針和引用的不同之處是什么?
◆ 何時用用指針?何時用引用?
指針和引用的不同之處
????看如下代碼:
????指針是用來表示內存地址的,而指針這個整數正是被指向的變量地址。
??? 而引用就是給變量重新起了一個名字,引用也就是“別名”。
不同之處
◆ 指針在聲明時可以暫時不初始化,當然每次使用指針時都要做檢查,以防出現空指針異常的問題0。而引用永遠都不會為空,它一定得代表某個對象。
◆ 指針存放的是地址,可以被重新賦值。而引用總是指向它最初代表的那個對象。
指針和引用使用場合
????引用主要是作為函數的參數和返回值來使用的,看如下代碼:
????通過vec[3] =3可改變vector容器的值,這是因為[]操作符返回的就是引用。也就是為內部的變量取了一個別名,還能讓[]操作符返回一個指針,即*vec[3]=3。實際上引用可以做的事情指針都可以做,那為什么還要使用引用?
總結
????用恰當的工具做恰如其分的工作。
????指針可以毫無約束的操作內存中的任何東西,功能十分強大,但也很危險,所以可以在恰當的時機使用引用。
????當你需要指向某個東西,絕不會讓其指向其它東西,例如有些函數參數為了避免拷貝可以使用引用,或者實現一個操作符而其語法需求無法由指針達成,例如vec[3]=3,可以使用引用,而其它任何時候,都要使用指針。
聲明:
本文于網絡整理,版權歸原作者所有,如來源信息有誤或侵犯權益,請聯系我們刪除或授權事宜。
總結
以上是生活随笔為你收集整理的C语言面试-指针和引用的使用场景?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电脑wifi设置步骤(电脑如何设置WIF
- 下一篇: C语言指针变量与一维数组