Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      Functions

      From cppreference.com
      <c‎ |language
       
       
       
       

      A function is a C language construct that associates acompound statement (the function body) with anidentifier (the function name). Every C program begins execution from themain function, which either terminates, or invokes other, user-defined or library functions.

      // 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;}

      A function is introduced by afunction declaration or afunction definition.

      Functions may accept zero or moreparameters, which are initialized from thearguments of afunction call operator, and may return a value to its caller by means of thereturn statement.

      int n= sum(1,2);// parameters x and y are initialized with the arguments 1 and 2

      The body of a function is provided in afunction definition. Eachnon-inline(since C99) function that is used in an expression (unlessunevaluated) must bedefined only once in a program.

      There are no nested functions (except where allowed through non-standard compiler extensions): each function definition must appear at file scope, and functions have no access to the local variables from the caller:

      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 sumreturn a+ b;}

      [edit]References

      • C23 standard (ISO/IEC 9899:2024):
      • 6.7.7.4 Function declarators (including prototypes) (p: TBD)
      • 6.9.2 Function definitions (p: TBD)
      • C17 standard (ISO/IEC 9899:2018):
      • 6.7.6.3 Function declarators (including prototypes) (p: 96-98)
      • 6.9.1 Function definitions (p: 113-115)
      • 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

      [edit]See also

      C++ documentation forDeclaring functions
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=c/language/functions&oldid=179341"

      [8]ページ先頭

      ©2009-2025 Movatter.jp