main()的规范原型是:
int main()
其返回值包括了程序退出时的状态。尽管它是int类型,仅仅最低的八位二进制数是有效的,通过0,1不同位置的排列,main()所返回的有效值域为-128到127。
返回值为0表示操作成功,返回其他值表示产生了不同类型的错误。所有以负数退出的进程将被保留,这些进程将被其他进程或者内核结束,一个正数表示用户定义的一个错误代码。
在以前C语言的规则中,如果一个函数没有明确的返回值,那么就间接地说明它返回一个int类型。因此,大多数程序员通常定义main()来代替int main(),但是,在定义一个新代码中最好避免使用这种方式。
main()有第二种标准形式,这种形式可以让你访问命令行参数。
int main(intargc, char * argv[])
argc是所有被传递的参数的总和,它不能为负值。argy是数组的指针,它的第一个参数argy[0]包含了可执行文件的名字,不管它的完整路径名是否与之相关联。
如果你的程序不能访问命令行参数,你可以运用以下原型:
int main()
这个比int main(intargc, char * argv[])更安全更有效。
标准规则是main()的其他参数应该在定义标准的argc和argv以后定义。main()定义三个参数的普通形式如下:
int main(intargc, char * argv[], char *envp[])
这种形式经常被用在POSIX系统里,参数envp包含了新进程的环境。