main函数参数
一共有三个:
1.int argc 整型变量
2.char *argv[] 字符指针的数组,通俗一点就是字符串数组,每个元素都是字符串
3.char *envp[] 字符串数组
这三个东西再怎么神秘,也只是函数参数,只不过是main函数的参数罢了!
一、int argc参数
用于存放命令行参数的个数
二、char *argv[]参数
每个元素都是一个字符串,表示命令行中的每一个参数。
关于int argc和char *argv[]参数,我用以下代码说明:
#include <stdio.h>
int main(int argc,char *argv[],char *envp[])
{
int i = 0;
printf("参数个数为:%d\n",argc);
for (i = 0; i < argc; i++)
{
printf("%s\n", argv[i]);
}
system("pause");
return 0;
}
编译运行的结果:
参数只有一个,就是当前的exe文件
上文提及,既然这两个参数和命令行有关,那么我们用命令行运行一下:
运行时顺便加上3个参数:zhangsan、lisi、wangwu,再加上原来的exe文件参数,这样总共就有4个参数。
三、char *envp[]参数
这是一个存放环境变量的数组。
运行以下代码:
#include <stdio.h>
int main(int argc, char *argv[], char *envp[])
{
int i = 0;
while (envp[i] != NULL)
{
printf("%s\n", envp[i]);
i++;
}
system("pause");
return 0;
}
部分结果:
大家如果学习过别的语言,可能会涉及配置环境变量。如何找到环境变量的位置呢?
对于win10系统:右击“此电脑”找到属性->再找到高级系统设置->环境变量
将运行结果和找到的环境变量对比一下,就会得到验证,这个参数确实是存放环境变量的数组。
通常这三个参数在编程时不会使用,所以可以去掉。这样main函数就成了无参函数。