C++ main函数 argc,argv传递参数的含义

main(int argc,char **argv)
   argv为指针的指针
   argc为整数
   char **argv or: char *argv[ ] or: char argv[ ][ ]
main()括号内是固定的写法。

下面给出一个例子来理解这两个参数的用法:

假设程序的名称为prog,

1.当只输入prog,则由操作系统传来的参数为:

   argc=1,表示只有一程序名称。
   argc只有一个元素,argv[0]指向输入的程序路径及名称:./prog

2.当输入prog para_1,有一个参数,则由操作系统传来的参数为:

   argc=2,表示除了程序名外还有一个参数。
   argv[0]指向输入的程序路径及名称。
   argv[1]指向参数para_1字符串。

3.当输入prog para_1 para_2 有2个参数,则由操作系统传来的参数为:

   argc=3,表示除了程序名外还有2个参数。
   argv[0]指向输入的程序路径及名称。
   argv[1]指向参数para_1字符串。
   argv[2]指向参数para_2字符串。


void main(int argc, char *argv[ ])  
   char* argv[]:argv是一个指针数组,他的元素个数是argc,存放的是指向每一个参数的指针,他的第一个元素即argv[0]为编译生成的可执行文件名(包括路径eg:"F:/VC/Ex1/Debug/Ex1.exe"),从二个元素(argv[1])开始,是每一个参数.
   int argc 表示argv的大小,是实际参数个数+1,其中+1是因为argv[0]是编译后的可执行文件名

你可能感兴趣的:(C++ main函数 argc,argv传递参数的含义)