功能不同 引用:用來進(jìn)行傳值。取地址:用來獲取首地址。運(yùn)算不同 引用:對(duì)引用求地址,就是對(duì)目標(biāo)變量求地址。&ra與&a相等。即常說引用名是目標(biāo)變量名的一個(gè)別名。
永春網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)成立與2013年到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
引用&就像一個(gè)“修飾”一樣,只有在定義和聲明或者說明參數(shù)類型的時(shí)候才用,平時(shí)引用變量和普通變量一樣。
再看函數(shù)改為void test(tree &t)時(shí),這時(shí)的形參定義為引用類型,要傳的參數(shù)是實(shí)參的引用,即實(shí)參的地址。
ShowMenu是一個(gè)函數(shù)名,可以看到他的值是一個(gè)地址。&ShowMenu是對(duì)函數(shù)取地址,指向和ShowMenu同樣的地址??梢钥闯?,ShowMenu是占用一個(gè)字節(jié)的,而作為指針&ShowMenu卻占用四個(gè)字節(jié)。所以說,函數(shù)名占用空間的。
那么函數(shù)名fun實(shí)際上就是0xffee0000的別稱。你用一個(gè)指針指向這個(gè)函數(shù),那么你把 指針 = 函數(shù)名,實(shí)際就是把0xffee0000這個(gè)內(nèi)存單元的地址給指針p。
函數(shù)名被編譯的時(shí)候其實(shí)就是函數(shù)的入口地址,32位計(jì)算機(jī)地址就是32位,64位計(jì)算機(jī)就是64位。函數(shù)名是給程序員用的,地址是給計(jì)算機(jī)用的。
C語言地址,是指內(nèi)存地址的概念。計(jì)算機(jī)內(nèi)存中的各個(gè)存儲(chǔ)單元都是有序的,按字節(jié)編碼。
指針是常見間接訪問方式.指針就像一個(gè)快捷方式,它指向內(nèi)存的一個(gè)地址,可以通過指針就可以間接的訪問到數(shù)據(jù)。對(duì)于計(jì)算機(jī),訪問內(nèi)存的方式有兩種,直接訪問和間接訪問。直接訪問通過就是通過變量名稱去訪問。
1、是的。函數(shù)指針就是函數(shù)的指針,它是一個(gè)指針,指向一個(gè)函數(shù)。這正如用指針變量可指向整型變量、字符型、數(shù)組一樣,這里是指向函數(shù)。
2、是的。c語言中, 函數(shù)名也稱為函數(shù)的指針,所以c語言中函數(shù)名就是一個(gè)指針?!昂瘮?shù)指針”本身首先應(yīng)是指針變量,只不過該指針變量指向函數(shù)。這正如用指針變量可指向整型變量、字符型、數(shù)組一樣,這里是指向函數(shù)。
3、你用一個(gè)指針指向這個(gè)函數(shù),那么你把 指針 = 函數(shù)名,實(shí)際就是把0xffee0000這個(gè)內(nèi)存單元的地址給指針p。所以,結(jié)論是:函數(shù)名 是 程序在執(zhí)行時(shí), 函數(shù)所占內(nèi)存單元塊的 首地址 的別稱。
4、對(duì)的,函數(shù)名僅代表函數(shù)的名稱,就和人的名字一樣只是一個(gè)代號(hào)。但要注意的是:要以字母開頭;不能以關(guān)鍵字當(dāng)函數(shù)名;這兩條是硬規(guī)定,就像人起名字要符合法律規(guī)定。