一般我们在查看Linux系统中命令文件时,通常会看到
int main(int argc, char* argv[])
首先解释下含义:
argc 是 argument count的缩写,表示输入的参数个数;
argv 是 argument vector的缩写,表示传入main函数的参数序列或指针,并且第一个参数argv[0]一定是执行程序的名称,并且包含了程序所在的完整路径,所以确切的说需要我们输入的main函数的参数个数应该是argc-1个;
参考链接:https://blog.youkuaiyun.com/dcrmg/article/details/51987413
接下来我们实践验证一下:
#include<stdio.h>
int main(int argc, char* argv[])
//第一个参数由系统自动计算
//第二个参数是指针数组,指针是指向char类型的字符串指针
//这两个参数都由命令行输入而来
{
for(int i=0; i<argc ;i++)
{
printf("Argument[%d] is %s!\n", i , argv[i] );
}
printf("argc is %d!\n",argc);
return 0;
}
文件保存名为 test.c ,在Ubuntu20.4终端里输入以下命令
gcc test.c -o test.out
则生成名为 test.out 的可执行文件。其中-o参数表示要定义生成的可执行文件名称。接着在终端输入
./test.out a b c dd
得到以下结果: