C語(yǔ)言函數(shù)的聲明和定義
一個(gè)函數(shù)一般由兩部分組成:
- 聲明部分執(zhí)
- 行語(yǔ)句
C語(yǔ)言對(duì)變量而言,聲明與定義的關(guān)系稍微復(fù)雜一些,在聲明部分出現(xiàn)的變量有兩種情況:
- 一種是需要建立存儲(chǔ)空間的。
- 另一種是不需要建立存儲(chǔ)空間的。
前者稱為定義性聲明,簡(jiǎn)稱定義;后者稱為引用性聲明。
一般為了敘述方便,把建立存儲(chǔ)空間的聲明稱定義,而把不需要建立存儲(chǔ)空間的聲明稱為聲明。
在函數(shù)中出現(xiàn)的對(duì)變量的聲明,除了用extern聲明的以外都是定義,在函數(shù)中對(duì)其他函數(shù)的聲明不是函數(shù)的定義。
C語(yǔ)言內(nèi)部函數(shù)
一個(gè)函數(shù)只能被本文件中其他函數(shù)所調(diào)用,它稱為內(nèi)部函數(shù)。在定義內(nèi)部函數(shù)時(shí),在函數(shù)名和函數(shù)類型的前面加static即:
static 類型名 函數(shù)名(形參表);
內(nèi)部函數(shù)又稱為靜態(tài)函數(shù),因?yàn)樗怯胹tatic聲明的。
使用內(nèi)部函數(shù),可以使函數(shù)的作用域只局限于所在文件,在不同的文件中即使有同名的內(nèi)部函數(shù),也互不干擾。
通常把只能由本文件使用的函數(shù)和外部變量放在文件的開(kāi)頭,前面都加static使之局部化,表示其他文件不能引用。
C語(yǔ)言外部函數(shù)
在定義函數(shù)時(shí),在函數(shù)首部的最左端加關(guān)鍵字extern,則此函數(shù)是外部函數(shù),可供其他文件調(diào)用。
C語(yǔ)言規(guī)定,如果在定義函數(shù)時(shí)省略extern,則默認(rèn)為外部函數(shù)。
C語(yǔ)言****內(nèi)部函數(shù)外部函數(shù)案例
#include
extern int maxNumber(int num1,int num2)//外部函數(shù)
{
int max;
max=num1>num2?num1:num2;
return max;
}
static float minNumber(float num1,float num2)//內(nèi)部函數(shù)
{
float min;
min=num1return min;
}
int main()
{
printf("%d\\n",maxNumber(10,11));
printf("%f\\n",minNumber(10,11));
return 0;
}?num1:num2;
編譯運(yùn)行結(jié)果:
11
10.000000
--------------------------------
Process exited after0.07334 secondswith return value0
請(qǐng)按任意鍵繼續(xù). . .
-
C語(yǔ)言
+關(guān)注
關(guān)注
180文章
7604瀏覽量
136698 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4327瀏覽量
62573
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論