C 函式定義
函式定義中指定函式的型別和數目接獲,它會預期的參數和傳回型別的名稱。 函式定義也會包含函式主體與宣告的區域變數,並判斷該函式的用途的陳述式。
語法
轉譯單位:
外部宣告轉譯單位外部宣告
外部宣告: / * 外部 (檔案) 的範圍只允許 * /
函式定義declaration
函式定義: / * 在此宣告為函式宣告子 * /
宣告規範選擇屬性 seq 選擇宣告子宣告清單選擇複合陳述式/ * 屬性 seq 為 Microsoft 特定 * /
原型參數為:
宣告規範:
儲存類別規範的宣告規範opt型別規範的宣告規範opt
型別限定詞的宣告規範opt
宣告清單:
宣告宣告清單宣告
declarator:
指標選擇直接宣告子直接宣告子: / * 函式宣告子 * /
直接宣告子**(** 參數型別清單**)** / * 新樣式宣告子 * /直接宣告子**(** 識別項清單選擇**)** / * 過時樣式宣告子 * /
參數清單定義中的使用此語法:
參數型別清單: / * 參數清單 * /
參數清單參數清單**、...**
參數清單:
參數宣告參數清單**,** 參數宣告
參數宣告:
宣告規範宣告子抽象宣告子的宣告規範opt
舊函式定義中的 [參數] 清單會使用此語法:
識別項清單: / * 過時樣式的函式定義和宣告中使用 * /
identifier識別項清單**,** 識別項
函式主體的語法如下:
- 複合陳述式: / * 函式主體 * /
{ declaration-list optstatement-list opt**}**
可以修改的函式宣告的唯一儲存類別規範是extern和靜態。 extern規範表示函式可以被參考從其他檔案。 也就是函式名稱在匯出至連結器。 靜態規範表示函式不能參考從其他檔案。 也就是連結器就不會匯出名稱。 如果沒有儲存類別就會出現在函式定義中, extern假設。 在任何情況下,函式一律會顯示從定義點至檔案結尾。
選擇性的宣告規範且強制declarator一起指定函式的傳回型別和名稱。 declarator是命名函式,並在函數名稱後括號內的識別項的組合。 選擇性的屬性 seq 終端是 Microsoft 專屬中所定義的功能函式屬性。
直接宣告子 (在declarator語法) 指定函式所定義的名稱,以及其參數的識別項。 如果直接宣告子 包括 參數型別清單,清單會指定所有參數型別。 這類的宣告子也是較新的函式呼叫的函式原型。
A declaration在宣告清單函式中定義不能包含儲存類別規範而非註冊。 型別規範在宣告規範時,才可以省略語法註冊的值為指定的儲存類別int型別。
複合陳述式是函式主體包含區域變數宣告,外部宣告的項目和陳述式的參考。
章節函式屬性, 的儲存類別, 傳回型別, 參數,和 函式主體描述這些元件的詳細資料中的函式定義。