在阅读MINIX的源代码时,我遇到了以下内容:
int do_read_write(rw_flag)
int rw_flag; /* READING or WRITING */
{
看起来中间一行是用来声明函数的rw_flag
输入的类型,但我以前从未见过这种符号。这和下面的有什么不同吗?
int do_read_write(int rw_flag) {
如果没有,除了扩展代码以便可以进行更多注释之外,它还有什么用途吗?
这是一种非常古老的C风格的声明,从最初的几年(80年代?)是的,意思是一样的。
你不应该再使用它了,它不再被大多数编译器支持,并且由于某种原因而被抛弃。
这是一种有效的方式来声明称为声明列表的参数(ISO/IEC 9899:TC3, 6.9.1, 1)…
6.9.1函数定义语法
函数定义:
声明说明符声明符声明列表opt 复合语句
生命:
声明生命声明
,但它将成为无效的(ISO/IEC 9899:TC3, 6.11.7)
6.11未来的语言发展方向[…]6.11.7函数定义
使用带有单独的参数标识符和声明列表的函数定义(而不是原型格式的参数类型和标识符声明符)是一个过时的特性。