大家可能比较少用到主函数的参数或不带主函数的参数,可能经常用到的主函数参数有两个,但主函数的参数共有三个,下面是
主函数的函数原型:
int main(int argc, char * argv[], char * envp[])
我来大概描述一下这三个参数分别都是干什么的
argc:传递的参数列表中参数的个数(即argv数组的长度)
argv:传递的参数列表(因为是char * 型的数组,所以每个数组元素都指向一个字符串)
envp:环境变量
接下来我将演示每个参数的使用:
我使用了标记长度的argc和储存传递的参数的数组argv,即我传递了几个参数,分别将他们换行打印出来。
执行函数,打印出来的执行函数的指令,即执行函数的指令就是传递向主函数的一个参数。
上面两幅图分别演示不同类型的主函数参数。
我们添加入envp的使用
可以看到打印了执行函数的指令,也打印出来了许多字符串(我只截屏了一部分),这些字符串就是环境变量,其中我用红线标
出的就是执行函数的shell和属主。
拓展知识:
当然经常用到的仍然是argc和argv,它们的使用可以查看文件函数博客。
主函数参数的存储在main函数栈帧向下偏移4字节处(个人理解)。