在阅读MINIX的源代码时,我发现了以下内容:
int do_read_write(rw_flag)
int rw_flag; /* READING or WRITING */
{
看起来中间行用于声明函数的rw_flag
输入的类型,但我以前从未见过这种表示法。它与以下有何不同?
int do_read_write(int rw_flag) {
如果没有,它是否可以用于任何目的,除了扩展代码以便可以更多地评论它?
答案 0 :(得分:5)
从最初几年(1980年代?)开始,这是一种非常古老的C式宣言。是的,这意味着同样的事情。
您不应该再使用它了,大多数编译器都不再支持它,并且因为某种原因而放弃了。
答案 1 :(得分:1)
这是一种声明参数的有效方法,称为声明列表(ISO / IEC 9899:TC3,6.9.1,1)...
6.9.1功能定义
<强>语法强>
函数的定义:
declaration-specifiers 声明者 声明列表 opt 复合声明
声明列表:
声明
声明列表 声明
......但它将无效(ISO / IEC 9899:TC3,6.11.7)
6.11未来的语言指示
[...]
6.11.7功能定义
使用具有单独参数标识符和声明列表(不是prototype-format参数类型和标识符声明符)的函数定义是一个过时的功能。