C函数定义

函数定义指定预期将接收函数、参数的类型和数字的名称,并且,其返回类型。 函数定义还包括与其局部变量的声明的函数体和定位语句的函数。

语法

  • 翻译单元:
    外部声明

    翻译单元外部声明

  • 外部声明:/* 只允许在外部 (文件) 的大小 *
    函数定义

    declaration

  • 功能定义:/* 此处声明是函数声明 *
    声明说明符opt属性顺序opt声明列表的说明opt复合语句

    属性序列 的/* 是特定于 Microsoft 的 *

原型参数为:

  • 声明说明符:
    存储类说明符声明说明符 opt

    类型说明符声明说明符 opt

    类型限定符声明说明符 opt

  • 列表的说明:
    声明

    声明列出一些

  • declarator:
    指针opt直接 声明

  • 直接声明:/* 的函数声明 *
    直接声明 ( 参数类型列表 ) /* 新的声明 *

    直接声明 ( 标识符的opt列表 ) /* 过时样式声明 *

在定义使用参数列表此语法:

  • 参数类型的列表:参数列表的/* */
    参数列表

    参数列表,…

  • 参数列表:
    参数声明

    参数列表**,** 参数声明

  • 参数声明:
    声明说明符声明

    声明说明符抽象声明 opt

在一个旧式函数定义使用参数列表此语法:

  • 标识符的列表:用于过时样式函数定义和声明的/* */
    identifier

    标识符的列表**,** 标识符

函数体的语法是:

  • 复合语句:/* 函数体 *
    { declaration-列表opt语句列表opt**}**

可以修改函数声明的唯一存储类说明符是 extern 和 静态。 extern 说明符表示函数可以从其他文件引用;即函数名传递给链接器导出。 静态 说明符表示函数不能从其他文件引用;即该名称未由链接器导出。 如果存储类未出现在函数定义, extern 假定。 在任何情况下,该函数定义中始终可见指向文件的结尾。

可选 说明 说明符和强制的 declarator 一起指定函数的返回类型和名称。 declarator 是函数名之后,该函数的名称和括号标识符的组合。 可选特性 顺序 非终止符号是在 功能属性定义的一个特定于 Microsoft 的功能。

直接声明 (在 declarator 语法) 指定定义的函数的名称及其参数标识符。 如果该 直接声明 包含一个 参数类型列表,该列表指定任何参数的类型。 此类声明还用作函数原型用作后调用函数。

除了 注册之外,的 声明中列出的declaration 在函数定义不能包含 存储类 说明符。 ,仅当 注册 存储类。 int 类型,该值指定在 声明说明符 语法的 类型 说明符可以省略。

复合语句 是包含局部变量声明的函数体,对外部声明的项目和语句。

部分 功能属性存储类返回类型参数函数体 详细描述函数定义的元素。

请参见

概念

功能(c)