我们平时写程序时main函数是省略参数的,或者是省略部分参数,其实main函数是有三个参数的。
int main(int argc, char *argv[], const char *envp[])
argc:int 类型,用于存放命令行参数的个数(包括函数名)。
argv[]:char数组型,每个元素都是一个字符指针,指向一个字符串,即命令行中的每一个参数。
envp:char数组型,这个数组的每一个元素是指向一个环境变量的字符指针,也就是存放了当前程序运行时的环境变量(当前程序运行时对应的进程包含的环境变量)。
test.c
#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[])
{
int i = 0;
//显示参数个数
printf("argc is %d\n", argc);
//列出全部的参数
for (i = 0; i < argc; ++i)
printf("argv[%d] is %s\n", i, argv[i]);
return 0;
}
输出结果如下:
test.c
#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[], char *envp[])
{
int i = 0;
//数组最后一个元素是0
while (envp[i] != 0)
{
printf("%s\n", envp[i]);
++i;
}
return 0;
}
输出结果如下: