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

15-无参数和未指定参数

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

9.2.3 无参数和未指定参数

假设有下面的函数原型:

void print_name();

一个不支持ANSI C的编译器会假定用户没有用函数原型来声明函数,它将不会检查参数。为了表明函数确实没有参数,应该在圆括号中使用 void 关键字:

void print_name(void);

支持ANSI C的编译器解释为 print_name() 不接受任何参数。然后在调用该函数时,编译器会检查以确保没有使用参数。

一些函数接受(如, printf()scanf() )许多参数。例如对于 printf() ,第1个参数是字符串,但是其余参数的类型和数量都不固定。对于这种情况,ANSI C允许使用部分原型。例如,对于 printf() 可以使用下面的原型:

int printf(const char *, ...);

这种原型表明,第1个参数是一个字符串(第11章中将详细介绍),可能还有其他未指定的参数。

C库通过 stdarg.h 头文件提供了一个定义这类(形参数量不固定的)函数的标准方法。第16章中详细介绍相关内容。