argc 是argument count的缩写表示传入main函数中的参数个数,包括这个程序本身
argv 是 argument vector的缩写表示传入main函数中的参数列表,其中argv[0]表示这个程序的名字
在上面两个名词的解释中提到“这个程序”,所谓的“这个程序”就是包含main函数的程序。可能这样说还是不太能理解,不妨用一个例子来说明一下什么是“这个程序”。
代码如下(test.c文件并编译链接形成test.exe(linux下生成test)可执行文件):
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char const *argv[])
{
printf("%s\n",argv[0]);
return 0;
}
结果如下:
这个例子展示了“这个程序”和argv[0]的含义。
那么接下来看一下argc和argv的使用,代码示例如下:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char const *argv[])
{
printf("the number of command line parameters is %d!\n",argc );
for (int i = 0; i < argc; ++i)
{
printf("argv[%d] is %s\n",i,argv[i]);
}
return 0;
}
结果展示如下:
argc表示argv中参数的个数。
https://zhuanlan.zhihu.com/p/267822985