最近学习时看到的,一开始不知道是什么意思。然后在去找资料时,感觉很多文章都没讲清楚,或者讲得太复杂。
1、什么是命令行参数
执行程序时,可以从命令行传值给程序,这些值就被称为命令行参数。
命令行参数是使用 main() 函数参数来处理的,比如C语言int main( int argc, char *argv[] )(并不一定这样写,只是约定俗成)中的,argc 是指传入参数的个数,argv[] 是一个指针数组,指向传递给程序的每个参数。
#include <stdio.h>
int main(int argc, char* argv[])
{
printf("%d\n", argc);
printf("%s", argv[0]);
}
argv[0] 存储程序的名称,argv[1] 是一个指向第一个命令行参数的指针,*argv[n] 是最后一个参数。如果没有提供任何参数,argc 将为 1,否则,如果传递了一个参数,argc 将被设置为 2。
2、命令行参数的作用
其实很少有什么作用,除非想从外部控制程序,而不是在代码内对这些值进行硬编码时。
main方法一般就作为程序的入口,基本不会给main传参,也就考试的时候可能会考一下,了解即可。可以理解为允许通过参数给程序传一些变量,而不是在程序执行之后输入。就相当于你在调用其它的函数给函数传参一样的。