目录
一、命令行参数是什么?
C语言中的main函数,我们发现既可以带参数,也可以不带参数。带参数的main函数如下:
参数为一个整数argc,一个字符指针数组argv
这些参数是什么呢?agrc是agrv数组的元素个数;argv存放的是命令行输入的内容,以空格为分割
当我们输入./test2.exe执行程序时,输出结果是./test2.exe
当我们在./test2.exe后加上不同的字符后,其也会跟着输出
在命令行中输入,最终作为参数传给main函数,这就是命令行参数
二、命令行参数作用
我们在命令行中输入的内容,都会被当作参数传给main函数,这有什么用处呢?
我们所使用的Linux系统命令,例如ls -l,ls -d等,通过输入不同的选项实现不同的功能,其就是通过命令行参数来实现的
三、命令行参数如何传递给main函数?
在命令行中输入的数据,是如何作为参数传递给main函数的呢?
已知:子进程可以访问父进程的数据
Linux系统中通过命令行执行的程序,都是命令行解释器bash的子进程。我们在命令行中输入的数据默认都是输入给其父进程bash的,bash进程将命令行参数形成一个字符串数组,结尾放NULL,然后传递给main函数