参数
参数是值的名称传递给函数调用。 参数是函数预期收到的值。 在函数原型,括号在函数名后包含完整的函数的参数及其类型。 参数声明指定参数中存储的值的类型、大小和标识符。
语法
功能定义:
声明说明符opt属性顺序opt声明列表的说明opt复合语句属性序列 的/* 是特定于 Microsoft 的 *
声明 :
指针opt直接 声明直接声明: /* 的函数声明 *
直接声明 ( 参数类型列表 )/* 新的声明 *参数类型的列表:/* 的参数列表 *
参数列表参数列表 ,…
参数列表:
参数声明参数列表 , 参数声明
参数声明:
声明说明符声明声明说明符抽象声明 opt
参数类型列表 是参数声明顺序逗号分隔。 每个参数的窗体中的参数列表如下所示:
[register] type-specifier [declarator]
函数参数声明 自动 属性生成错误。 参数的标识符用于函数体引用值传递给函数。 在原型来命名参数,但是,名称超出范围在标题末尾。 因此参数名在函数定义中分配方式相同或不同的方式。 这些标识符在最外层不能重块函数体,但是,它们在内部可以重新定义,嵌套块,就象参数列表括起块。
如以下示例所示,每个标识符 参数类型列表 必须在为正确的类型说明符后,例如:
void new( double x, double y, double z )
{
/* Function body here */
}
如果至少一个参数在发生参,列表可以在三后跟句号的逗号结束 (…)。 此构造,称为 “省略号表示形式,”表示参数数目可变给函数。 (请参见 调用带有参数数目可变 有关更多信息。)但是,在中,尽管具有参数在最后一个逗号之前,对函数的调用必须至少有许多参数。
如果参数不会传递到函数,参数列表中关键字 void替换。 为 void 的这种用法从其使用一目了然为类型说明符。
参数的顺序和类型,包括对省略号表示形式的所有使用,必须相同在这些函数声明 (如果有) 和函数定义方面。 参数的类型通常在算术转换后的绑定是为符合对应参数的类型。 (请参见 通常算术转换 有关算术转换的信息。)遵循省略号的参数不会检查。 参数可以具有任意基础知识、结构、联合、指针或数组类型。
编译器独立地执行常见的算术转换在每个参数和在每个参数,如果需要,。 在转换后,参数比 int不短,因此,参数没有 float 类型,除非参数类型被显式指定为 float 在原型。 这意味着,例如,声明一个参数作为 char 其效果和声明它与作为 int。