美文网首页C语言C语言笔记
【C语言学习】main()函数有几种写法?

【C语言学习】main()函数有几种写法?

作者: 学以解忧 | 来源:发表于2019-08-29 16:06 被阅读0次

    在C语言中,main函数是程序的入口。其有四种写法,即:

    //写法一
    main()
    {
     printf("Hello notepad++ \n");
    }
    
    //写法二
    int main(void)
    {
     printf("Hello notepad++ \n");
     
     return 0;
    }
    
    //写法三
    void main()
    {
     printf("Hello notepad++ \n");
    }
    
    //写法四
    int main(int argc, char *argv[])
    {
     printf("Hello notepad++ \n");
    }
    

    前面三种不带参数的都是比较常见的写法。第四种写法带的两个参数是什么意思呢?下面简单来介绍一下。首先,主函数不能被其他函数调用,所以形参argcargv的实际值就不能从其他函数传入,那么其实参应该从哪传入呢?是从操作系统命令行上获得的。因此这两个参数也被称为命令行参数,argc为命令行参数的个数,argv为字符串命令行参数的首地址。

    下面看一个代码实例:

    #include <stdio.h>
    
    //写法四
    int main(int argc, char *argv[])
    {
     int i;
     
     printf("<<<< argument list >>>>\n");
     printf("argc = %d\n", argc);
     for ( i = 0; i < argc; i++ )
     {
       printf("argv[%d] = %s\n",i, argv[i]);
     }
     printf("Hello notepad++ \n");
     
     return 0;
    }
    

    我的C开发环境为:MinGW+notepad++。键入组合键【win+r】打开运行窗口,输入cmd并回车进入命令行环境:

    输入gcc hello.c -o hello.exe命令进行编译,再输入hello.exe cmd1 cmd2 cmd3 cmd4 cmd5(DOS提示符下命令行的一般形式为: C:\>可执行文件名 参数 参数……)对main函数进行传参,输出结果为:

    image

    可见, argv为字符串指针数组,其各元素值为命令行中各字符串(参数均按字符串处理)的首地址,argc为指针数组的长度,即为参数的个数。


    关注我的微信公众号【嵌入式大杂烩】,回复:C语言,可获取C语言资料。
    关注我的个人博客【我的博客】查看更多笔记

    相关文章

      网友评论

        本文标题:【C语言学习】main()函数有几种写法?

        本文链接:https://www.haomeiwen.com/subject/ubwiectx.html