阅读一份日期为 1988 年的文档,我发现一个以这种方式开头的main()
函数:
main(argc, argv)
char *argv[];
{
//some statements...
}
令人惊讶的是,我注意到函数的参数没有返回类型,甚至没有数据类型 - 除了在代码的第二行再次声明argv[]
。
考虑到这些因素,我的问题是:这是一个有效的语法吗?如果是,为什么现在的C语言语法有点不同?
这是1989年之前的原始"K&R"函数语法。 返回类型(甚至参数类型(默认为 int,括号仅包含参数的名称,其完全类型的声明(如有必要(出现在第一个{
之前。