这个特殊的主要功能有什么特别之处吗?

时间:2011-12-17 07:56:47

标签: c

当我浏览解压缩的源代码时,我遇到了一个主要功能如下,

int MAIN(argc, argv)   /* return PK-type error code (except under VMS) */
    int argc;
    char *argv[];
{
    int r;

    CONSTRUCTGLOBALS();
    r = unzip(__G__ argc, argv);
    DESTROYGLOBALS();
    RETURN(r);
}

我认为这样定义的主函数在编译时不会通过。但我的c编译器并没有抱怨它。为什么它在语法上是正确的?

感谢。

1 个答案:

答案 0 :(得分:6)

这是旧的K& R样式函数声明。所以是的,它是有效的C,abeit 很旧 C.

我不建议写这种类型的声明,因为它已经完全过时,并且可能会让读者不熟悉语法的人感到困惑。