当前位置:嗨网首页>书籍在线阅读

06-定义带形式参数的函数

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

9.1.4 定义带形式参数的函数

函数定义从下面的ANSI C风格的函数头开始:

void show_n_char(char ch, int num)

该行告知编译器 show_n_char() 使用两个参数 chnumchchar 类型, numint 类型。这两个变量被称为形式参数(formal argument,但是最近的标准推荐使用formal parameter),简称形参。和定义在函数中变量一样,形式参数也是局部变量,属该函数私有。这意味着在其他函数中使用同名变量不会引起名称冲突。每次调用函数,就会给这些变量赋值。

注意,ANSI C要求在每个变量前都声明其类型。也就是说,不能像普通变量声明那样使用同一类型的变量列表:

void dibs(int x, y, z)            /* 无效的函数头 */
void dubs(int x, int y, int z)    /* 有效的函数头 */

ANSI C也接受ANSI C之前的形式,但是将其视为废弃不用的形式:

void show_n_char(ch, num)
char ch;
int num;

这里,圆括号中只有参数名列表,而参数的类型在后面声明。注意,普通的局部变量在左花括号之后声明,而上面的变量在函数左花括号之前声明。如果变量是同一类型,这种形式可以用逗号分隔变量名列表,如下所示:

void dibs(x, y, z)
int x, y, z;        /* 有效 */

当前的标准正逐渐淘汰ANSI之前的形式。读者应对此有所了解,以便能看懂以前编写的程序,但是自己编写程序时应使用现在的标准形式(C99和C11标准继续警告这些过时的用法即将被淘汰)。

虽然s how_n_char() 接受来自 main() 的值,但是它没有返回值。因此, show_n_char() 的类型是 void

下面,我们来学习如何使用函数。