返回指针_C语言面试中的问题指针和引用的使用场景?
先解決兩個疑問:
◆ 指針和引用的不同之處是什么?
◆ 何時用用指針?何時用引用?
01 ?指針和引用的不同之處
????看如下代碼:
????指針是用來表示內存地址的,而指針這個整數正是被指向的變量地址。
??? 而引用就是給變量重新起了一個名字,引用也就是“別名”。
不同之處:
◆ 指針在聲明時可以暫時不初始化,當然每次使用指針時都要做檢查,以防出現空指針異常的問題0。而引用永遠都不會為空,它一定得代表某個對象。
◆ 指針存放的是地址,可以被重新賦值。而引用總是指向它最初代表的那個對象。
02 ?指針和引用使用場合
????引用主要是作為函數的參數和返回值來使用的,看如下代碼:
????通過vec[3] =3可改變vector容器的值,這是因為[]操作符返回的就是引用。也就是為內部的變量取了一個別名,還能讓[]操作符返回一個指針,即*vec[3]=3。實際上引用可以做的事情指針都可以做,那為什么還要使用引用?
答案如下:
????用恰當的工具做恰如其分的工作。
????指針可以毫無約束的操作內存中的任何東西,功能十分強大,但也很危險,所以可以在恰當的時機使用引用。
????當你需要指向某個東西,絕不會讓其指向其它東西,例如有些函數參數為了避免拷貝可以使用引用,或者實現一個操作符而其語法需求無法由指針達成,例如vec[3]=3,可以使用引用,而其它任何時候,都要使用指針。
總結
以上是生活随笔為你收集整理的返回指针_C语言面试中的问题指针和引用的使用场景?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 公积金计算公式 怎么计算住房公积金
- 下一篇: 验证手机号码归属地_最新确认:手机号码归