关于c语言main函数中int argc,char **argv的理解
c语言main函数通常形如int main(int argc, char **argv),那么argc和argv代表啥呢?
其实,argc表示传入main函数的参数的个数;而argv表示传入main函数的参数的列表。当然,此处的argc和argv是可以换成别的名字的,因为argc (argument count)和argv(argument vector)用的比较多,所以建议自己写的代码也用这俩名字。另外,char ** 表示指向字符型指针的指针。测试代码如下
#include <stdio.h>
int main(int argc, char **argv)
{
int i=0;
printf("%d\n",argc);
for (i=0;i<argc;i++)
{
printf("%s\n",argv[i]);
}
}
[root@test c]# ./a.out arg1 arg2 arg3
4
./a.out
arg1
arg2
arg3
更改名称后的代码
#include <stdio.h>
int main(int count, char **vector)
{
int i=0;
printf("%d\n",count);
for (i=0;i<count;i++)
{
printf("%s\n",vector[i]);
}
}
[root@test c]# ./new one two three four
5
./new
one
two
three
four