我必须修改ITU在工作中制作的G722编解码器的代码。
我包含了像这样的真实功能定义:
int
main (argc, argv)
int argc;
char *argv[];
{
.
.
.
}
为什么有人会使用这样的语法?
答案 0 :(得分:1)
我通过谷歌搜索“老C风格声明”找到了答案,就像在评论中提到的那样。
答案是:
旧式函数声明和定义使用稍微不同的规则来声明参数,而不是ANSI C标准推荐的语法。首先,旧式声明没有参数列表。其次,在函数定义中,列出了参数,但它们的类型未在参数列表中声明。类型声明在构成函数体的复合语句之前。旧式语法已过时,不应在新代码中使用。但是,仍然支持使用旧式语法的代码。
答案 1 :(得分:0)
这是非常古老的(1989年之前的标准)函数定义语法。为了向后兼容性,它仍然是合法的,但它绝对不再推荐。
至于为什么任何人都会使用它,我能想到的唯一合理的场景是: