C语言之main函数传参

1:为何须要给main函数传参数组

  首先要明白一点,给mian函数传参不是必须的,可是有时候咱们须要经过给main函数不一样的参数来获得的不一样的结果,好比咱们但愿main函数中某个变量的值为0时执行子函数A,该变量值为1时执行子函数B,那么这个时候就能够经过给main函数传参来实现,mian函数传参格式以下:ide

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

参数解释:函数

argc:int类型的参数,表示给mian函数传递了多少个参数spa

argv 一个字符数组(或者是二重指针),这个数组用来存放多个字符串,每一个字符串就是咱们给main函数传递的一个参数,须要注意的是咱们./a.out执行这个程序时也算是给main函数传递了一个参数操作系统

2:谁给main函数传参指针

  在普通的函数a中,它里面的参数是由调用函数a的函数b传递的,一样的,main函数的传参也是有调用main函数的“函数”给main函数传参的,可是咱们知道,main函数是一个程序的入口函数,因此给main函数传参的是调用这个程序的一个程序,也就是main函数所在的父进程,而且由这个父进程接受main函数的返回值。进程

3:main函数传参的本质字符串

 程序调用有各类方法可是本质上都是父进程fork一个子进程,而后子进程和一个程序绑定起来去执行(exec函数族),咱们在exec的时候能够给他同时传参。程序调用时能够被传参(也就是main的传参)是操做系统层面的支持完成的。举个简单的例子,当咱们在控制台下面输入./a.out去执行一个程序的时候,其本质是控制台进程建立了一个子进程去调用咱们./a.out这个可执行程序,并负责给这个程序的入口函数也就是main函数传参,并接收其返回值。
it

相关文章
相关标签/搜索