标准的main函数有两种:
int main(void) //不需要参数
int main(int argc, char *argv[]) //需要参数,argc为给程序的参数的个数,argv中保存的是给函数的参数,都是字符串。
都需要返回值,这样用户可以知道程序是否正确执行。
其他类型的main函数都是非标准的。像linux下都是用标准的main函数,而windows下很多编译器都是用void main() 或者main()。其实这种非标准的main函数很不好,用这种main函数学习C语言的人无法知道系统是如何给程序传参数的。
例如:
int main(int argc, char** argv)
argc是命令行输入参数的个数,argv存储了所有的命令行参数。假如你的程序是hello.exe,如果在命令行运行该程序,运行命令如下:
hello.exe lena.jpg C:\myproject\mydir
那么,argc的值是3,argv[0]是“hello.exe”,argv[1]是“lena.jpg”,argv[2]是“C:\\myproject\\mydir”.