?
This document uses PHP Chinese website manual Release
函數(shù)是一種C語言結構,它將復合語句(函數(shù)體)與標識符(函數(shù)名稱)關聯(lián)起來。每個C程序都從主函數(shù)開始執(zhí)行,主函數(shù)可以終止或調(diào)用其他用戶定義或庫函數(shù)。
// 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;}
函數(shù)可以接受零個或多個參數(shù),這些參數(shù)是從函數(shù)調(diào)用操作符的參數(shù)初始化的,并且可以通過返回語句將值返回給調(diào)用者。
int n = sum(1, 2); // parameters x and y are initialized with the arguments 1 and 2
函數(shù)的主體在函數(shù)定義中提供。除非函數(shù)內(nèi)聯(lián),否則每個函數(shù)只能在程序中定義一次。
沒有嵌套函數(shù)(除非通過非標準編譯器擴展允許):每個函數(shù)定義必須出現(xiàn)在文件范圍內(nèi),并且函數(shù)不能訪問調(diào)用者的局部變量:
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;}
C11 standard (ISO/IEC 9899:2011):
6.7.6.3 Function declarators (including prototypes) (p: 133-136)
6.9.1 Function definitions (p: 156-158)
C99 standard (ISO/IEC 9899:1999):
6.7.5.3 Function declarators (including prototypes) (p: 118-121)
6.9.1 Function definitions (p: 141-143)
C89/C90 standard (ISO/IEC 9899:1990):
3.5.4.3 Function declarators (including prototypes)
3.7.1 Function definitions