***********************************argc的理解*******************************************
*****************************************************************************************

大家应该都有一个模糊的记忆,C语言中main函数是程序的入口函数,所以程序运行时main函数调用别的函数,并且给别的函数传入参数。但是没人告诉我们是谁“调用”的main函数。其实我们可以理解为是操作系统调用的main函数,所以main函数的参数应该是操作系统给的,也就是说我们的在命令行界面运行程序是,需要给main函数参数;


其次,说明一下argc表示的什么意思;可以用代码说明。

(对代码进行解释一下:我们将argc的值输出,因为这个值是main函数的参数,而main函数的参数又是操作系统给的,也就是我们在命令行执行程序时传入的

#include<stdio.h>
int main(int 爱人给出char **argv)
{
        int i;
        for(i = 0; i < argc ; i++)
        {
                printf("argument(%d) is %s !\n",i,argv[i]);
        }
        printf("=========\n");
        printf("argc is %d\n",argc);
        printf("=========\n");
}

当我们在运行程序时,传入的参数,就是这个argc的值;从截图中,我们就晓得,argc是传入参数的个数,“传入的参数”加上可执行文件的文件名。




***********************************argv[]的理解*******************************************
*****************************************************************************************

argv[]是什么意思?从上面程序运行的结果中可以看出,argv[]存放的是传给main函数的参数,argv是字符串数组,所以下标从0开始,第一个存放的是可执行程序的文件名字,然后依次存放传入的参数;



******************************************总结*******************************************
*****************************************************************************************


Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐