函式
來自 cppreference.com
函式是 C 語言的一種結構,它將一個複合語句(函式體)與一個識別符號(函式名)關聯起來。每個 C 程式都從main 函式開始執行,main 函式要麼終止,要麼呼叫其他使用者定義或庫函式。
// function definition. // defines a function with the name "sum" and with the body "{ return x+y; }" int sum(int x, int y) { return x + y; }
函式可以接受零個或多個引數,這些引數由函式呼叫運算子的實參初始化,並且可以透過return 語句向其呼叫者返回一個值。
int n = sum(1, 2); // parameters x and y are initialized with the arguments 1 and 2
函式體在函式定義中提供。程式中使用的每個非 inline(C99 起) 函式(除非是未求值表示式)必須只定義一次。
C 語言中沒有巢狀函式(除了非標準編譯器擴充套件允許的情況):每個函式定義都必須出現在檔案作用域,並且函式無權訪問呼叫者的區域性變數。
int main(void) // the main function definition { int sum(int, int); // function declaration (may appear at any scope) int x = 1; // local variable in main sum(1, 2); // function call // int sum(int a, int b) // error: no nested functions // { // return a + b; // } } int sum(int a, int b) // function definition { // return x + a + b; // error: main's x is not accessible within sum return a + b; }
[編輯] 參考
- C23 標準 (ISO/IEC 9899:2024)
- 6.7.7.4 函式宣告符(包括原型) (p: TBD)
- 6.9.2 函式定義 (p: TBD)
- C17 標準 (ISO/IEC 9899:2018)
- 6.7.6.3 函式宣告符(包括原型) (p: 96-98)
- 6.9.1 函式定義 (p: 113-115)
- C11 標準 (ISO/IEC 9899:2011)
- 6.7.6.3 函式宣告符(包括原型) (p: 133-136)
- 6.9.1 函式定義 (p: 156-158)
- C99 標準 (ISO/IEC 9899:1999)
- 6.7.5.3 函式宣告符(包括原型) (p: 118-121)
- 6.9.1 函式定義 (p: 141-143)
- C89/C90 標準 (ISO/IEC 9899:1990)
- 3.5.4.3 函式宣告符(包括原型)
- 3.7.1 函式定義
[編輯] 參閱
C++ 文件,關於宣告函式
|