指针数组的一个重要应用是作为main函数的形参,例如void main(int argc,char *argv[])
argc和argv就是main函数的形参,main函数是由操作系统调用的,当处于操作命令状态下,输入main所在的文件名(经过编译,连接后得到的可执行文件,后缀为.exe),操作系统就调用main函数,实参和命令一起给出的,也就是在一个命令行中包括命令名和需要传给main函数的参数
命令行的一般形式为: 命令名 参数1 参数2 参数3……….参数n
命令名是main所在的执行文件名,应包括盘符,路径,以及文件的扩展名,main函数中形参argc是指命令行中参数的个数,argv是指向字符串的指针数组
注意文件名本身算第一个参数
下面做个小测试,输入参数并输出参数
#include<stdio.h>
void main(int argc,char *argv[])
{
int i;
printf("%d\n",argc);
for(i=0;i<argc;i++)
printf("%s\n",*(argv + i));
/*while(argc-->1)
printf("%s\n",*++argv);*/
//如此输出可以避免输出文件路径
}
![](https://img-my.csdn.net/uploads/201212/24/1356350976_8335.jpg)
输入输出参数