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