main函数中argc理解

其实: int main(int argc,char *argv[])是UNIX和Linux中的标准写法,而int main()只是UNIX及Linux默许的用法..
void main(int argc, char* argv[ ])等同于void main(int argc, char* *argv)

看个例子 testargc.c 就会明白它们的用法了:
#include<unistd.h>
#include<stdio.h>
int main(int argc,char *argv[])
{
if(argc==1)
printf("argc=1 argv[0]=%s ",argv[0]);
if(argc==2)
printf("argc=2 argv[0]=%s argv[1]=%s ",argv[0],argv[1]);
if(argc==3)
printf("argc=3 argv[0]=%s argv[1]=%s argv[2]=%s ",argv[0],argv[1],argv[2]);
//exit(0);
}


运行:# ./testargc
结果: argc=1
argv[0]=./testargc

运行:# ./testargc test1
结果:argc=2
argv[0]=./testargc
argv[1]=test1

运行:./testargc test1 test2
结果: argc=3
argv[0]=./testargc
argv[1]=test1
argv[2]=test2

看到这里 argc,argv[] 如何用就很明白了,argc 是外部命令参数的个数,argv[]存放各参数的内容.

原文地址:https://www.cnblogs.com/timssd/p/3999329.html