日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 芯聞號 > 充電吧
[導(dǎo)讀]函數(shù)聲明例如:float?func(int,?int);以上就是一個(gè)函數(shù)的聲明,要注意它的實(shí)際功能并沒有被實(shí)現(xiàn),換句話說就是它并沒有被定義,只是聲明此函數(shù)的存在。要想調(diào)用次函數(shù),你必須對對此函數(shù)進(jìn)行定

函數(shù)聲明

例如:

float?func(int,?int);

以上就是一個(gè)函數(shù)的聲明,要注意它的實(shí)際功能并沒有被實(shí)現(xiàn),換句話說就是它并沒有被定義,只是聲明此函數(shù)的存在。要想調(diào)用次函數(shù),你必須對對此函數(shù)進(jìn)行定義。例如,可以定義如下:

float?func(int?a,?int?b){
??return?(float)(a+b);
}

float func(int,int); 在計(jì)算機(jī)語言里被叫做表達(dá)式,此表達(dá)式說明func(int,int)返回的是一個(gè)float的數(shù),func是函數(shù)地址(特別注意,他不是指針,而是函數(shù)在內(nèi)存中的地址),它可以接受兩個(gè)int型的數(shù)據(jù)作為傳入?yún)?shù)。

函數(shù)指針

下面就是一個(gè)函數(shù)指針:

float?(*pf)(int,int);

這里pf就是一個(gè)函數(shù)指針變量,他可以接受的參數(shù)是兩個(gè)int,返回值為float。所以這個(gè)函數(shù)指針變量可以存放返回值為float,并且接受兩個(gè)int為傳入?yún)?shù)的函數(shù)地址。

我們可以做如下賦值運(yùn)算:

pf?=?func;

調(diào)用func函數(shù)也就可以寫成pf(…).

實(shí)驗(yàn)

實(shí)驗(yàn)代碼如下:

#include#includefloat?func(int,?int);
int?main(int?argc,?char**?argv){
????float?(*pf)(int,?int);
????pf?=?func;
????printf("%fn",?pf(1,?2));
????printf("%.16Xn",?(uint64_t)(pf));
????printf("%.16Xn",?(uint64_t)(func));
????printf("%.16Xn",?(uint64_t)(&func));
????printf("%.16Xn",?(uint64_t)(&pf));
????return?0;
}
float?func(int?a,?int?b){
????return?(float)(a?+?b);
}

其中一次執(zhí)行結(jié)果如下:

3.000000
0000000025051005
0000000025051005
0000000025051005
000000004547FD08

注意輸出結(jié)果的第二行,第三行以及第四行是相同的;最后一行與這三行是不同的。這說明:

bf這個(gè)變量存放的內(nèi)容是func的內(nèi)容。func本身就是地址,所以取地址符號并沒有對輸出值產(chǎn)生影響。bf本身是個(gè)存放地址的變量,他自己也有地址,他的地址就是輸出結(jié)果的最后一行。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉