C语言中int main()和int main(void)区别

来源:互联网 发布:win7红警网络点不进去 编辑:程序博客网 时间:2024/06/02 21:19
1.K&R书上main函数定义写成main(){...} 形式,不写返回值类型也不写参数列表,这是Old Style C的风格。Old Style C规定不写返回值类型就表示返回int型,不写参数列表 就表示参数类型和个数没有明确指出。这种宽松的规定会导致很多复杂的Bug产生,不幸的是现在的C标准为了兼容旧的代码仍然保留了这种语法。 
2. 其实系统在调用main函数时是传参数的,所以main函数最标准的形式应 该是int main(int argc, char *argv[])。C标准也规定了int main(void) 这种形式,如果不使用系统传进来的两个参数也可以写成这种形式。但除了这两种形式之外,以其它形式定义main函数都是错误的或不可移植的。

0 0