函數(shù)本質(zhì)上是全局的,因為一個函數(shù)要被另外的函數(shù)調(diào)用,但是,也可以指定函數(shù)只能被本文件調(diào)用,而不能被其他文件調(diào)用。根據(jù)此特點,將函數(shù)分為內(nèi)部函數(shù)和外部函數(shù)。
內(nèi)部函數(shù)
內(nèi)部函數(shù)的首部的一般格式為
static 類型標識符 函數(shù)名(形參表)
如
static int fun(int a, int b)
內(nèi)部函數(shù)又稱為靜態(tài)函數(shù)。
外部函數(shù)
在定義函數(shù)時,如在函數(shù)首部的最左端加關(guān)鍵字 extern,表示此函數(shù)是外部函數(shù),可供其他文件調(diào)用。如果在定義時省略 extern,則默認為外部函數(shù)。
頭文件是利用函數(shù)原型擴展函數(shù)作用域的常見例子。
在頭文件 cmath 中包括了所有的數(shù)學函數(shù)的原型和其他有關(guān)信息,用戶只需要用以下命令
#include <cmath>
即可,這時,在該文件中就能合法地調(diào)用各數(shù)學庫函數(shù)了。