对于这个引用:
函数声明符中不属于a的标识符列表 该函数的定义应为空。
标识符列表和参数列表之间有什么区别,有人可以为此引用提供示例。
答案 0 :(得分:6)
“标识符列表”仅用于过时的“K& R样式”功能。今天编写的新代码永远不会使用它。您可以在此处查看更多详细信息:https://stackoverflow.com/a/3092074/4323
这是这样的:
void func(identifier-list)
declaration-list
{
body
}
当他们说它是空的时,它们意味着即使承认古代代码的可能性,也不允许在没有定义函数的声明中使用它。例如,这是不允许的:
void func(x) int x;
答案 1 :(得分:2)
没有标识符定义的标识符列表没有说明函数参数的类型。因此,当函数声明不是函数定义时,为函数声明指定标识符列表是没有意义的。
因此使用引用引用的这种限制。
这是一个例子
#include <stdio.h>
void f();
int main(void)
{
int x = 10;
f( x );
return 0;
}
void f( x )
int x;
{
printf( "x = %d\n", x );
}
当使用参数列表时,编译器可以检查函数的调用,该函数将有效参数传递给函数。因此最好总是使用参数列表而不是标识符列表。