我在看putchar.c时偶然发现了这些行
我想知道为什么将参数ptr
和c
声明在参数主体之外?
这是某种“旧方法”还是有实际用途?
int
_putchar_r (ptr, c)
struct _reent *ptr;
int c;
{
return __sputc (c, _stdout_r (ptr));
}
答案 0 :(得分:0)
实际上,这是声明函数参数的“古老”方法。
我有点喜欢它,因为它一直在提醒我们,所有函数的参数都是局部变量,仅存在于函数范围内,并且传递给任何函数的任何参数始终是值副本。
答案 1 :(得分:0)
它是经典C Programming Book中引入的K&R C风格
答案 2 :(得分:0)
它是带有标识符列表的函数定义。标识符列表中的每个标识符都在函数的复合语句之前声明。
因此,可以使用参数类型列表或使用带有标识符列表的旧样式来定义函数。