什么情况我们会用argc和argv在c语言中

按我自己的理解argc就是用来统计数组的个数,argv是用来展示数组里面有什么。但我不太清楚什么时候要用到这个
同时也不懂这样理解对不对,麻烦指出错误 :)

  • 这篇博客: 【C】argc、argv说明以及输入输出中的 2 argc、argv 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • main(int argc,char *argv[])
    
    • argc为整数
    • argv是一个指针数组

    假设程序的名称为prog
    只输入prog,则由操作系统传来的参数为:
    argc=1,表示只有一程序名称。
    argc只有一个元素,**argv[0]**指向输入的程序路径及名称:./prog

    当输入prog para_1有一个参数,则由操作系统传来的参数为:
    argc=2,表示除了程序名外还有一个参数。
    argv[0]指向输入的程序路径及名称
    argv[1]指向参数para_1字符串

    当输入prog para_1 para_22个参数,则由操作系统传来的参数为:
    argc=3,表示除了程序名外还有2个参数。
    argv[0]指向输入的程序路径及名称。
    argv[1]指向参数para_1字符串
    argv[2]指向参数para_2字符串

    #include <stdio.h>
    #include <stdlib.h>
    
    int main(int argc,char *argv[])
    {
            printf("%s\n",argv[0]);//读取可执行程序(包括路径)
    
            /*读取参数*/
            int i = 1;
            while(i < argc)
            {
                    printf("%s\n",argv[i]);
                    i++;
            }
            //说明在dos和unix环境下,用""扩起来的表示其是一个字符串,代表着一个参数
            return 0;
    }
    
    -----------------------------------------------------------
    [xhh@xhhCentOS xhh_linux_learn]$ ./run xhh mcy 18 999
    ./run
    xhh
    mcy
    18
    999