日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

指针和引用的区别和联系

發(fā)布時(shí)間:2023/12/20 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 指针和引用的区别和联系 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

c++的學(xué)習(xí)中,我們經(jīng)常被應(yīng)該如何使用指針和引用這個(gè)問(wèn)題所困擾,那么我這里給大家說(shuō)一下在我的學(xué)習(xí)過(guò)程中對(duì)指針和引用的理解,和它們之間的區(qū)別,希望各位朋友給出不同的意見(jiàn)并且指出我在學(xué)習(xí)中的一些錯(cuò)誤

??? 首先我們來(lái)聊一下指針,相信我們?cè)?/span>C的學(xué)習(xí)中就會(huì)遇到這個(gè)在C編程中無(wú)處不在的朋友。

??? 指針本來(lái)就是用來(lái)存放地址的一個(gè)變量,其中他存放的地址和存放地址中的數(shù)據(jù)都可以被更改除非你這樣(const int * const p = 12) 首先我們定義指針時(shí)通常是:

??? int * p = 12

??? 可以知道p是一個(gè)指針變量,里邊存儲(chǔ)的是數(shù)值12所在內(nèi)存單元的地址,*的含義即是用于執(zhí)行間接訪問(wèn)的一個(gè)單目運(yùn)算符,他可以去訪問(wèn)p中的地址從而得到12這個(gè)值。

??? 指針傳遞是一種值傳遞的方式,他傳遞出去的只是地址值,值傳遞的時(shí)候中我們可以知道被調(diào)函數(shù)的形參會(huì)被當(dāng)做一個(gè)局部變量來(lái)出來(lái),會(huì)在棧中去給其分配空間用 來(lái)存儲(chǔ)主調(diào)函數(shù)傳輸過(guò)來(lái)的值,該值只不過(guò)是主調(diào)函數(shù)中實(shí)參值的一個(gè)拷貝,所以在被調(diào)函數(shù)中去修改傳輸過(guò)來(lái)的值并不會(huì)去影響主調(diào)函數(shù)中的實(shí)參值。

現(xiàn)在我們來(lái)總結(jié)一下

相同點(diǎn)

他們都是和地址有關(guān)系的,我們可以看到指針指向一塊內(nèi)存,而引用是一塊內(nèi)存的別名;

?不同點(diǎn)

1指針是一個(gè)實(shí)體他在棧中有自己使用的空間,但是引用沒(méi)有;

2引用必須初始化,指針不用但是最好初始化

3指針使用時(shí)必須加*,引用不用;

4引用只能初始化一次是個(gè)專一的人,指針不是;

5引用不用const去修飾,但是指針可以

6指針和地址運(yùn)用自增(++)不同,引用是值進(jìn)行自增,而指針是地址進(jìn)行自增;

聯(lián)系

1引用的內(nèi)部使用指針實(shí)現(xiàn)的(如何實(shí)現(xiàn)這里不做解釋)

2引用是受了限制的指針


總結(jié)

以上是生活随笔為你收集整理的指针和引用的区别和联系的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。