十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
聲明部分
成都創(chuàng)新互聯(lián)專注于永定網(wǎng)站建設服務及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供永定營銷型網(wǎng)站建設,永定網(wǎng)站制作、永定網(wǎng)頁設計、永定網(wǎng)站官網(wǎng)定制、微信小程序開發(fā)服務,打造永定網(wǎng)絡公司原創(chuàng)品牌,更為您提供永定網(wǎng)站排名全網(wǎng)營銷落地服務。
定義部分//或者說算法
C語言中函數(shù)包括函數(shù)首部和函數(shù)體,函數(shù)首部又包括函數(shù)類型、函數(shù)名、形參、有的還包括存儲方式等,函數(shù)體是函數(shù)實現(xiàn)的具體功能。
C語言頭文件中一般只進行函數(shù)聲明,函數(shù)實現(xiàn)一般另寫在文件中,這樣引用頭文件就不會報重復定義了。
你的兩個c文件在一個工程中,同時引用你定義的那種,在編譯時,兩個c文件都會將這段代碼(頭文件中的)展開到你的c文件中,因此,會報重復定義
先舉個例子:
#include stdio.h
int max(int,int); //這是函數(shù)max的申明,最后要加分號
int main()
{
int a=1,b=2,c;
c = max(a,b); //這是函數(shù)max的使用
printf("%d",c);
return 0;
}
int max(int n,int m) //這是函數(shù)max的定義部分,最后不加分號
{
if (nm)
return n;
else
return m;
}
不能在函數(shù)體內定義函數(shù)是什么意思?
【就是說函數(shù)在程序中不能嵌套定義,這個和Pascal語言不同,例如上面程序中,max函數(shù)不能定義在main函數(shù)中間】
定義是聲明還是使用?
【定義既不是申明,也不是使用,函數(shù)具體功能的實現(xiàn)代碼叫做函數(shù)的定義,如上面程序最后7行就是定義】
函數(shù)不是應該先聲明在使用嗎?
【是的,但如果函數(shù)定義在函數(shù)使用之前,就可以不用申明(如下面程序)。函數(shù)定義在函數(shù)使用后的情況下(如上面程序),先聲明,能使編譯器在編譯在編譯過程中能夠識別使用的函數(shù)】
#include stdio.h
int max(int n,int m) //這是函數(shù)max的定義部分,最后不加分號
{
if (nm)
return n;
else
return m;
}
int main()
{
int a=1,b=2,c;
c = max(a,b); //這是函數(shù)max的使用
printf("%d",c);
return 0;
}
定義如何解釋?
【見第二個問題】