c語言中, 函數(shù)名也稱為函數(shù)的指針,所以c語言中函數(shù)名就是一個指針。
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:國際域名空間、虛擬主機、營銷軟件、網(wǎng)站建設(shè)、萬州網(wǎng)站維護(hù)、網(wǎng)站推廣。
1,例如:
ShowMenu是一個函數(shù)名,可以看到他的值是一個地址。
ShowMenu是對函數(shù)取地址,指向和ShowMenu同樣的地址。
可以看出,ShowMenu是占用一個字節(jié)的,而作為指針ShowMenu卻占用四個字節(jié)。
所以,函數(shù)名占用空間的。
2,函數(shù)指針
指向函數(shù)的指針包含了函數(shù)的地址,可以通過它來調(diào)用函數(shù)。聲明格式如下:
類型說明符 (*函數(shù)名)(參數(shù))
其實這里不能稱為函數(shù)名,應(yīng)該叫做指針的變量名。這個特殊的指針指向一個返回整型值的函數(shù)。指針的聲明筆削和它指向函數(shù)的聲明保持一致。
指針名和指針運算符外面的括號改變了默認(rèn)的運算符優(yōu)先級。如果沒有圓括號,就變成了一個返回整型指針的函數(shù)的原型聲明。
例如:
void (*fptr)();
把函數(shù)的地址賦值給函數(shù)指針,可以采用下面兩種形式:
fptr=Function; fptr=Function;
取地址運算符不是必需的,因為單單一個函數(shù)標(biāo)識符就標(biāo)號表示了它的地址,如果是函數(shù)調(diào)用,還必須包含一個圓括號括起來的參數(shù)表。可以采用如下兩種方式來通過指針調(diào)用函數(shù):
x=(*fptr)(); x=fptr();
第二種格式看上去和函數(shù)調(diào)用無異。但是有些程序員傾向于使用第一種格式,因為它明確指出是通過指針而非函數(shù)名來調(diào)用函數(shù)的。下面舉一個例子:
void (*funcp)(); void FileFunc(),EditFunc();
main() {
funcp=FileFunc; (*funcp)();
funcp=EditFunc; (*funcp)();
} void FileFunc()
{ printf("FileFunc\n");
} void EditFunc()
{ printf("EditFunc\n"); }
程序輸出為:
FileFunc EditFunc
f表示函數(shù)名 同時也是函數(shù)指針
f()表示函數(shù)聲明或者調(diào)用。
f()是一個函數(shù),f就是這個函數(shù)的函數(shù)名。
f()這個函數(shù)調(diào)用完會返回一個值,把這個值賦給a。
就是這樣了···
用在輸入輸出語句中,表示浮點型數(shù)據(jù)。
#include
int
main()
{
float
a=5.47f;
printf("a=%f\n
",
a);
//
%f會用a的值代替
printf("input
a
float
number:");
scanf("%f",
a);
//
輸入的數(shù)據(jù)會以浮點型存到a中。
printf("a=%f\n
",
a);
//
%f會用a的值代替
return
0;
}
本文標(biāo)題:C語言f函數(shù) c語言f函數(shù)代表
標(biāo)題來源:http://chinadenli.net/article38/hgdcsp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、做網(wǎng)站、網(wǎng)站維護(hù)、網(wǎng)站營銷、企業(yè)網(wǎng)站制作、營銷型網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)