你這只是函數(shù)的聲明
創(chuàng)新互聯(lián)建站是專業(yè)的奇臺(tái)網(wǎng)站建設(shè)公司,奇臺(tái)接單;提供成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行奇臺(tái)網(wǎng)站開發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!
如
int abc();//這是聲明
int abc(int a,int b)//后面這部分就是函數(shù)體
{
int c;
c=a+b;
return c;
}
空函數(shù)?當(dāng)聲明部分和語(yǔ)句都沒有時(shí),就叫空函數(shù)了,空函數(shù)沒有實(shí)際意義。
這些函數(shù)是有函數(shù)體的,不過(guò)函數(shù)體的位置在對(duì)應(yīng)的庫(kù)文件中,頭文件中只有函數(shù)原型聲明……
cdecl是一種調(diào)用約定,表示一種特定的參數(shù)和返回值傳遞方式,在跨文件(甚至跨語(yǔ)言)調(diào)用函數(shù)的時(shí)候才需要指定。這個(gè)關(guān)鍵詞在不同的編譯器上寫法不完全一樣,例如gcc就只接受__attribute__((cdecl)),而不是使用 _Cdecl 這樣的寫法,如果使用_Cdecl這個(gè)保留字,你的代碼就只能在一種編譯器上編譯……
怎么會(huì)沒有函數(shù)體呢?你哪看的? 函數(shù)體都封裝在lib文件里面了。 你include 的只是一個(gè)頭文件,頭文件是哪來(lái)聲明的。不寫函數(shù)體在那里面.
c語(yǔ)言庫(kù)函數(shù)其實(shí)分為兩個(gè)部分
我們編寫代碼的時(shí)候用#include包含的頭文件只是那些庫(kù)函數(shù)的聲明以及一些常量以及宏的定義
函數(shù)體不是在.h文件中實(shí)現(xiàn)的
是在另外的.c文件中實(shí)現(xiàn)
然后編譯成可執(zhí)行的.o文件供我們調(diào)用
包括返回值,函數(shù)名,形參列表和函數(shù)體四個(gè)部分。
例如 :
int findmin(int a[],int n){
//函數(shù)體
return min;
}
以上函數(shù)int 是返回值,findmin是函數(shù)名, int a[] int n是形參列表