main函数的本质

  1.main函数是操作系统调用的函数

  2.操作系统总是将main函数作为应用程序的开始

  3.操作系统将main函数的返回值作为程序的退出状态


   main函数的参数

程序执行时可以向main函数传递参数

 int main()

 int main(int argc)

 int main(int argc,char* argv[])

 int main(int argc,char* argv[],char* env[])


 argc--命令行参数个数

 argv--命令行参数数组

 env--环境变量数组



 gcc编译器的常见用法:

 gcc a.c b.c c.c


 argc    ---------->  4

 argv[0]---------->gcc

 argv[1]---------->a.c

 argv[2]---------->b.c

 argv[3]---------->c.c



面试中的小问题

  main函数一定是程序执行的第一个函数?

   不一定 ,假定我们使用了gcc属性关键字,可以指定在main函数之前执行一个函数,在main函数之后执行一个函数,这样的属性关键字在BCC编译器中是没有的,那么main函数一定是第一个执行的函数