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