【发布时间】:2009-07-20 01:30:55
【问题描述】:
int func(x)
int x;
{
.............
这种声明叫什么?
何时有效/无效,包括 C 或 C++、某些标准修订版和编译器?
【问题讨论】:
标签: c parameters declaration
int func(x)
int x;
{
.............
这种声明叫什么?
何时有效/无效,包括 C 或 C++、某些标准修订版和编译器?
【问题讨论】:
标签: c parameters declaration
即K&R C参数声明语法,在ANSI C中有效,在C++中无效。
【讨论】:
它仍然有效,但它是 pre-ANSI。这实际上是 K&R 缩进样式得名的地方。左括号在功能块之后的那一行,因为这看起来很奇怪:
int func(x)
int x; {
...
}
反正不推荐这种风格,因为a problem with function prototypes。
【讨论】:
K&R 风格,我认为它仍然有效,尽管不鼓励。它可能来自 Fortran(在最近的 F95 中仍然在函数体内定义了函数参数类型)
【讨论】:
那是老式的 C。现在很少见到了。
【讨论】:
这是一个函数原型。如果您不这样做,则必须在 main 之前将函数完全写出,否则编译器将不知道您在 main 中使用该函数是什么。它不是很具有描述性,因此不再使用。你会想使用类似的东西:
int someFunction(int someParamX int someParamY);
【讨论】:
int func(x)后面少了一个分号。