main函数的参数列表

main函数的参数列表

main函数实际上是有参数的,如何给main函数传参,main函数的参数值是从操作系统的命令行上获得的,当要执行一个课执行文件时,在DOS提示符下键入文件名,再输入实际参数即可把这些参数传送到main的形参中。

C:\可执行文件名 参数1 参数2 ...

main函数的参数列表

#include<stdio.h>

int main(int agrc; char* argv[]; char *envp[]){
	int i = 0;
    //打印出命令参数
	for(; i < agrc; i++){
		printf("%s\n", argv[i]);
	}
    
	i = 0;
    //打印出环境变量
	while(envp[i]){
		printf("%s\n", envp[i++]);
	}

	return 0;
}

main函数的参数列表的命名可以变。

解析main函数的三个参数:

  1. int argc:指命令行输入参数的个数,包括调用的函数名,比如:
[[email protected] main]# ./main Hello World !
//argc = 4
  1. char *argv[]:[]的优先级高,是一个指针数组,即数组的每一个元素都是一个指针,指向一个字符串,而argv[]的每个元素指向的字符串即命令行输入的参数,即“./main”,“Hello”,“World”,“!"。并且,argv的最后一个元素是NULL。
    main函数的参数列表
  2. char *envp[]:同样是指针数组,argv[]的每个元素指向的字符串即此时该进程所在的环境变量,元素应该比较多,最后一个元素为NULL。
    main函数的参数列表
    实验结果:环境变量较多,只截取一部分。
    main函数的参数列表