main函数的参数

作者:xcbeyond
疯狂源自梦想,技术成就辉煌!微信公众号:《程序猿技术大咖》号主,专注后端开发多年,拥有丰富的研发经验,乐于技术输出、分享,现阶段从事微服务架构项目的研发工作,涉及架构设计、技术选型、业务研发等工作。对于Java、微服务、数据库、Docker有深入了解,并有大量的调优经验。



 











对于C语言初学者而言,听到mian()函数的参数或许会大吃一惊的,这也难怪,因为刚开始我们接触的都是没有参数的main函数,也不曾谈及其参数的问题。

在大部分情况下,main函数始终都作为主调函数,也就是说,允许main函数调用其他函数,并向函数传递参数。事实上,作为C程序入口的main函数,也可以接收用户输入的参数,即:main函数存在的参数情况。main函数的参数只能由命令行传递。曾今接触过DOS命令行的人都该是了解的,一条完整的命令包括两部分:命令与相应的参数,即:命令 参数1 参数2……

main函数带参数的形式如下:

    int main(int argc,char *argv[])
     
    {
     
    ……
     
    }


在mian函数中,它使用了两个参数来记录数据,其中一个名为argc的参数记录了命令行中命令与参数的个数,如有命令行:filename str1 str2 str3,其中filename为文件名,它是一个由C语言源程序经编译、链接后生成的可执行文件,其后跟了3个参数(还可以有更多的参数),在main(int argc,char *argv[])中,另一个参数是一个指针数组char *argv[4],又来记录命令行中命令和每个参数的字符串,如数组中保存的字符串如下:argv[0]=”filename”,argv[1]=”str1″,argv[2]=”str2″,argv[3]=”str3″

如举例:

    /*程序名:main函数的参数*/
     
    #include<stdio.h>
     
    #include<conio.h>
     
    int main(int argc,char *argv[])
     
    {
     
    if(argc!=2)
     
    printf(“使用格式:程序名 您的名称!\n”);
     
     
     
    printf(“您好,%s!\n”,argv[1]); //把argv[1]改为argv[0],观察输出结果
     
    getch();
     
    return 0;
     
    }