首先,你提的問題就有問題。C是一門編程語言,函數(shù)是在源代碼里面聲明的。所以你該問在c語言編寫的源代碼里,函數(shù)聲明的位置有幾種? 再就是:具體的就是C原碼文件和h頭文件里,都是可以的,這個(gè)要根據(jù)你的需要來寫。in all, 代碼是為你的思想服務(wù)的,只要符合語言規(guī)范,能夠順利build complete, link ok, 它在哪里出現(xiàn)你來定。
成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),橫縣企業(yè)網(wǎng)站建設(shè),橫縣品牌網(wǎng)站建設(shè),網(wǎng)站定制,橫縣網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,橫縣網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
函數(shù)聲明定義 放在 主函數(shù)以外,與主函數(shù)地位 并列,不能放在主函數(shù)以內(nèi)。
函數(shù)定義 放在 主函數(shù) 以后,那么在 主函數(shù)以前,或 在主函數(shù)聲明部分(語句以前)要添加函數(shù)原型聲明。
函數(shù)聲明定義,若放在主函數(shù)以前, 主函數(shù)中 則 不需要 函數(shù)原型聲明。
程序結(jié)構(gòu):
int main()
{
int process(int u,int t,int (*p)(int u,int t)); // 函數(shù)原型聲明
int a,b,c[3],i;
int max(int x,int y); // 函數(shù)原型聲明
int min(int j,int k); // 函數(shù)原型聲明
int sum(int q,int w); // 函數(shù)原型聲明
scanf("%d%d",a,b); // 這是語句,要放到聲明以后,所以搬動(dòng)到這里
。。。 // 其他語句
}
int max(int x,int y) // 函數(shù)聲明定義,在主函數(shù)以后
{if(yx)x=y;
return x;
}
。。。 // 其他 函數(shù)聲明定義
在調(diào)用前聲明。但通常放在主調(diào)函數(shù)的開頭部位或所有函數(shù)之外的前面。
如果放在main之前,就可以直接定義這個(gè)函數(shù):
void func(int arg) {
...;
}
main() {
func();
}
如果定義放在main之后就要在main之前先聲明這個(gè)函數(shù):
void func(int);
main() {
func();
}
void func(int arg) {
...;
}
在調(diào)用的函數(shù)前定義函數(shù),此時(shí)可以不需要聲明。
2.在調(diào)用的函數(shù)前聲明。
3.在調(diào)用的函數(shù)里面也可以聲明。
4.在其他文件的頭文件*.h文件里面聲明,然后*.c文件直接調(diào)用頭文件也可以。
把子函數(shù)放主函數(shù)MAIN函數(shù)外并且是之前定義,無需聲明。
2.如果你把子函數(shù)放到MAIN函數(shù)外,則必須在定義的時(shí)候先聲明。
3.如果把 子函數(shù)放在MAIN函數(shù)中就不需要提前聲明了。
4.聲明一般告訴編譯器有這個(gè)對象??蛇@個(gè)'有'字就有2層意思,第一層意思是這個(gè)對象在其他地方已經(jīng)定義過,比如用extern來聲明就有這個(gè)意思,因?yàn)檫@個(gè)對象已經(jīng)有了這個(gè)時(shí)候不會(huì)對它分配內(nèi)存。第二層含義就是這個(gè)對象以前沒有是我現(xiàn)在定義的(現(xiàn)在有了以前沒有)這個(gè)時(shí)候聲明又可以稱為定義他們是重疊的,這個(gè)時(shí)候給這個(gè)對象分配內(nèi)存。所以可以看出在有定義的地方一定有聲明,有聲明的地方不一定就有定義。定義也是聲明,這是很多人都不了解的地方