左邊這個(gè) 不僅定義在其前面主函數(shù)能用,其他定義在其前面的函數(shù)也能使用。
公司主營(yíng)業(yè)務(wù):做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶(hù)真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。成都創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶(hù)帶來(lái)驚喜。成都創(chuàng)新互聯(lián)推出桐廬免費(fèi)做網(wǎng)站回饋大家。
右邊這個(gè),只能定義在其前面的主函數(shù)能用,其他函數(shù)想用,不行。
也就是
#includestdio.h #includestdio.h
double fact(int n); //聲明函數(shù) int main(void){
int main(void){ double fact(int n); //聲明函數(shù)
/* /*函數(shù)體*/
**** return 0;
*/ }
return 0;
}
void test() void test()
{ {
fact(2); //能用 fact(2); //不能用 未聲明
} }
double fact(int n){ double fact(int n){
/* /*函數(shù)體*/
*函數(shù)體
*/ }
}
這個(gè)是你用的編譯器決定的。
有的編譯器允許在函數(shù)調(diào)用前的任意地方聲明函數(shù),也有的要求必須在代碼段的最前面或函數(shù)之外聲明函數(shù)。
就像有的編譯器允許在局部變量引用之前任意地方定義局部變量,也有的要求必須在代碼段的最前面定義局部變量。
函數(shù)要先聲明再使用。。
比如 :
void main()
{
do_func(); //這里調(diào)用了一個(gè)函數(shù),但是編譯器不知道這個(gè)函數(shù)的存在,所以報(bào)錯(cuò)。
}
如果是
void main()
{
void do_func(); //聲明就是告訴編譯器我有這么一個(gè)函數(shù)
do_func(); //調(diào)用就不會(huì)出錯(cuò)了
}
當(dāng)然。。這個(gè)函數(shù)具體是什么功能,我們要來(lái)定義一下。
如
void do_func()
{
printf("我是函數(shù)");
}