根據(jù)參數(shù)類(lèi)型以及函數(shù)實(shí)現(xiàn)的功能綜合判斷。
專(zhuān)注于為中小企業(yè)提供做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)永川免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了數(shù)千家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
注意不能單單看是否為指針。
要傳遞類(lèi)型為A的值,如果參數(shù)類(lèi)型是A*,那么為傳地址,反之,如果參數(shù)類(lèi)型是A,那么是傳值。
比如,要傳遞int型參數(shù):
1 傳值:
void func(int a);
2 傳地址:
void func(int *a);
而傳遞char *型參數(shù)。
1 傳值:
void func(char *a);
2 傳地址:
void func(char **a);
同樣是char *類(lèi)型的參數(shù),有可能是傳值,也有可能是傳地址。具體取決于函數(shù)實(shí)現(xiàn)功能。
常數(shù)沒(méi)有地址?。?!它和變量不一樣。
但是你既然是通過(guò)DMA獲得的一個(gè)常數(shù),那么肯定不是通過(guò)123這樣的方式調(diào)用的,而是保存在某個(gè)變量中的,那個(gè)變量可以用取址
是。在C語(yǔ)言中,一個(gè)函數(shù)的函數(shù)名其實(shí)就是一個(gè)地址,即該函數(shù)的入口地址。我們可以聲明一個(gè)函數(shù)指針,并將函數(shù)的入口地址(函數(shù)名)賦值給這個(gè)指針,然后使用這個(gè)指針來(lái)調(diào)用具體的函數(shù)。
可以通過(guò)函數(shù)指針(也就是你說(shuō)的函數(shù)地址)調(diào)用,可以這樣使用:
#include
int
fun(int
a)
{
printf("a
=
%d\n",
a);
printf("hello
world\n");
}
int
main()
{
int
(*pFun)(int
a);
pFun
=
fun;
(*pFun)(123);
return
0;
}
輸出結(jié)果:
123
hello
world
變量是存放在內(nèi)存中的,只要是存放在內(nèi)存中的二進(jìn)制數(shù)就會(huì)有一個(gè)內(nèi)存的地址,所有變量是有地址的!
那函數(shù)是什么呢?函數(shù)是由一些運(yùn)行的語(yǔ)句組成的,程序運(yùn)行的時(shí)候就會(huì)把函數(shù)中的語(yǔ)句調(diào)用到內(nèi)存中去,那么函數(shù)代碼在內(nèi)存中開(kāi)始的那個(gè)內(nèi)存空間的地址就是函數(shù)的地址!
至于函數(shù)中用的變量的地址并不是放在代碼區(qū)的,一般都放在另外的兩個(gè)地方,其實(shí)地址上是有很大的差值的
希望你能理解上面的內(nèi)容,祝愿你學(xué)習(xí)C語(yǔ)言能馬到成功!
當(dāng)前文章:c語(yǔ)言函數(shù)調(diào)用是否有地址 c語(yǔ)言函數(shù)調(diào)用地址傳遞
網(wǎng)頁(yè)網(wǎng)址:http://jinyejixie.com/article36/hepcpg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、網(wǎng)站營(yíng)銷(xiāo)、品牌網(wǎng)站制作、電子商務(wù)、動(dòng)態(tài)網(wǎng)站、響應(yīng)式網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)