挺久之前就了解过int main()带参数的形式,但现在已经忘光了,重新学习一下,顺便记录,时不时可以来翻翻,哈哈
argc是命令行总的参数个数
argv[]是argc个参数,其中第0个参数是程序的全名,以后的参数命令行后面跟的用户输入的参数,比如:
#include<stdio.h>
int main(int argc, char *argv[])
{
int i;
printf("argc = %d\n",argc);
for(i=0; i<argc; i++)
printf("argv[%d] = %s\n",i, argv[i]);
return 0;
}
运行时输入./argc_argv one two three 其中argc_argv是我的可执行文件名,也是参数argv[0],之后跟的one是参数argv[1],two是argv[2], three是argv[3]。总共是4个参数,所以argc = 4。
运行结果如下:
再运行一次,只输入./argc_argv
再再运行一次,输入./argc_argv 11 22 3 4 5 6 7 8
参数的名称是可以修改的,如下代码,把argc改成cccc,argv改成vvvv
#include<stdio.h>
int main(int cccc, char *vvvv[])
{
int i;
printf("cccc = %d\n",cccc);
for(i=0; i<cccc; i++)
{
printf("vvvv[%d] = %s\n",i, vvvv[i]);
}
return 0;
}
运行如下:
小结:
main函数的参数其实和普通函数参数的用法基本是一样的,由于不能在程序运行的时候给main传递参数,所以才有int main(int argc,char* argv[])这种用法。
argc是命令行总的参数个数,由编译器自动计算。
argv[]是参数,其中argv[0]是程序的全名,后面的参数是命令行后面跟的用户输入的参数。
感慨:
其实就是俩参数,简单得很,之前还以为挺难的,哈哈哈。
参考文章
https://www.cnblogs.com/avril/archive/2010/03/22/1691477.html