对于C语言main函数中argc和argv[]的理解
1、首先说明一下main函数中的参数是从哪里来的?大家应该都有一个模糊的记忆,C语言中main函数是程序的入口函数,所以程序运行时main函数调用别的函数,并且给别的函数传入参数。但是没人告诉我们是谁“调用”的main函数。其实我们可以理解为是操作系统调用的main函数,所以main函数的参数应该是操作系统给的,也就是说我们的在命令行界面运行程序是,需要给main函数参数;
![对于C语言main函数中argc和argv[]的理解](https://exp-picture.cdn.bcebos.com/994f412043715fdbf7f0fe8f468920c5270f8c65.jpg)
2、其次说明一下argc表示的什么意思;我们可以用代码说明,代码的方式最直接;代码如图所示;简单解释一下代码:我们将argc的值输出,因为这个值是main函数的参数,而ma足毂忍珩in函数的参数又是操作系统给的,也就是我们在命令行执行程序时传入的;
![对于C语言main函数中argc和argv[]的理解](https://exp-picture.cdn.bcebos.com/8974c38a59de450742d17fc55e413a8ca7088565.jpg)
3、那么我们运行程序时,传入的参数,就是这个argc的值;从截图中,我们很清楚的可以看出,argc是传入参数的个数,”传入的参数“加上可执行文件的文件名;
![对于C语言main函数中argc和argv[]的理解](https://exp-picture.cdn.bcebos.com/95bd4e8c9bcec7f85ea71a68034ce54a2e27fb65.jpg)
4、argv[]是什么意思?从上面程序运行的结果中可以看出,argv[]存放的是传给main函数的参数,argv是字符串数组,所以下标从0开始,第一个存放的是可执行程序的文件名字,然后依次存放传入的参数;
![对于C语言main函数中argc和argv[]的理解](https://exp-picture.cdn.bcebos.com/2947750192dd33406823d632881c99c0aefcf165.jpg)
5、最后做一个总结:
![对于C语言main函数中argc和argv[]的理解](https://exp-picture.cdn.bcebos.com/256eb672941fbee4dc0ab7ebc1237971ff1de765.jpg)
6、希望可以帮助大家,大家遇到问题最后用代码解决问题!