admin管理员组

文章数量:1597897

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函数就成了无参函数。

 

本文标签: 详解函数参数语言Main