main函数简介
main函数,又称主函数,作为绝大部分C程序唯一的入口,是要求有返回值的,该返回值返回给(如操作系统)来表明该程序的执行状况。返回0代表程序正常执行成功,返回非0值代表程序异常结束,因此返回值需要是int整型,于是有了int main()的规范。
如果使用void main(),即声明主函数没有返回值,程序虽能编译、运行成功,却不利于程序的激活者判断其状态,这对于有很多C程序构成的大型项目来说是可能是致命的。
尤其从C99标准(1999年制定的官方C语言标准第二版)开始必须使用int main(),如果没有加return 0;语言,C99要求编译器自动添加(自己写上是个好习惯)。只声明main()的话,系统默认为int main()。void main()无论何时都不应该使用,因为主函数必须有返回值表明程序的运行状态(在代码中不使用void main()是一个良好的习惯)。
定义
在最新的C99标准中,只有以下两种定义方式是正确的:
int main(void)int main(int argc, char *argv[]) // char *argv[]可以写成char **argv
1. 参数
void:不接受任何参数;
argc:代表程序所运行环境传递给程序的参数数量;
argv:指向argc+1个指针的数组的首元素的指针。数组末元素为空指针,而若前面有元素,则它们指向表示从宿主环境传递给程序的参数的字符串。若argv[0]不是空指针(或argc>0),则它指向表示程序名的字符串。若程序名从宿主环境不可用则该字符串为空。
2. 返回值
返回值会用作隐式调用exit()的参数,值0和EXIT_SUCCESS指示成功终止,值非0和EXIT_FAILURE指示不成功终止。
EXIT_SUCCESS,EXIT_FAILURE,定义于头文件:
#define EXIT_SUCCESS 0#define EXIT_FAILURE 1
EXIT_SUCCESS和EXIT_FAILURE宏展开能用作exit参数的整数表达式(从而作为从main函数返回的值),并指示程序执行状态。EXIT_SUCCESS表示程序执行成功,EXIT_FAILURE表示程序执行不成功。
《PHP视频教学》