函數(shù)定義的一般形式
1.無參函數(shù)的一般形式
類型說明符 函數(shù)名()
{
類型說明
語句
}
其中類型說明符和函數(shù)名稱為函數(shù)頭。 類型說明符指明了本函數(shù)的類型,函數(shù)的類型實際上是函數(shù)返回值的類型。 該類型說明符與第二章介紹的各種說明符相同。 函數(shù)名是由用戶定義的標識符,函數(shù)名后有一個空括號,其中無參數(shù),但括號不可少。{} 中的內(nèi)容稱為函數(shù)體。在函數(shù)體中也有類型說明, 這是對函數(shù)體內(nèi)部所用到的變量的類型說明。在很多情況下都不要求無參函數(shù)有返回值, 此時函數(shù)類型符可以寫為void。
我們可以改為一個函數(shù)定義:
void Hello()
{
printf ("Hello,world \n");
}
這里,只把main改為Hello作為函數(shù)名,其余不變。Hello 函數(shù)是一個無參函數(shù),當被其它函數(shù)調(diào)用時,輸出Hello world字符串。
2.有參函數(shù)的一般形式
類型說明符 函數(shù)名(形式參數(shù)表)
型式參數(shù)類型說明
{
類型說明
語句
}
有參函數(shù)比無參函數(shù)多了兩個內(nèi)容,其一是形式參數(shù)表, 其二是形式參數(shù)類型說明。在形參表中給出的參數(shù)稱為形式參數(shù), 它們可以是各種類型的變量, 各參數(shù)之間用逗號間隔。在進行函數(shù)調(diào)用時,主調(diào)函數(shù)將賦予這些形式參數(shù)實際的值。 形參既然是變量,當然必須給以類型說明。例如,定義一個函數(shù), 用于求兩個數(shù)中的大數(shù),可寫為:
int max(a,b)
int a,b;
{
if (a>b) return a;
else return b;
}
第一行說明max函數(shù)是一個整型函數(shù),其返回的函數(shù)值是一個整數(shù)。形參為a,b。第二行說明a,b均為整型量。 a,b 的具體值是由主調(diào)函數(shù)在調(diào)用時傳送過來的。在{}中的函數(shù)體內(nèi), 除形參外沒有使用其它變量,因此只有語句而沒有變量類型說明。 上邊這種定義方法稱為“傳統(tǒng)格式”。 這種格式不易于編譯系統(tǒng)檢查,從而會引起一些非常細微而且難于跟蹤的錯誤。ANSI C 的新標準中把對形參的類型說明合并到形參表中,稱為“現(xiàn)代格式”。
例如max函數(shù)用現(xiàn)代格式可定義為:
int max(int a,int b)
{
if(a>b) return a;
else return b;
}
相關(guān)推薦:計算機等考二級C語言備考:C語言/C++編譯過程北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |