0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

C语言的main函数有几种写法?

工程师 来源:C语言Plus 作者:C语言Plus 2020-10-15 11:04 次阅读

从学习C语言开始就一直写个一个函数,那么你知道它的标准写法什么什么样吗?

main函数,又称主函数,是程序执行的起点,我们平时写的main函数是什么样呢?

1,是这样?

main(){}

2,还是这样?

void main(){}

3,还是这样?

int main(void){}

4,还是这样?

int main(){}

5,还是这样?

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

上面这么多种写法,那么哪种才是正确的写法呢?

查阅C89/C99/C11标准文档,里面明确固定了两种写法:

int main(void) { /* 。。。。。。 */ }int main(int argc, char *argv[]) { /* 。。。。。。 */ }

所以说,其他的写法并不符合标准,有些算是历史遗留有些算是编译器的扩展,还有些不知道从哪里生出来的。

所以说了这么多,为了代码的通用可移植性,建议采用标准提供的形式,还是推荐使用标准文档中规定的这两种写法。如果一个函数确定无需传入任何参数,那么用void限定是一个不错的选择。

所以说,你明白要怎么写main函数了吗?

来源:C语言Plus

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • C语言
    +关注

    关注

    180

    文章

    7604

    浏览量

    136738
  • 编程
    +关注

    关注

    88

    文章

    3614

    浏览量

    93707
  • 函数
    +关注

    关注

    3

    文章

    4329

    浏览量

    62583
收藏 人收藏

    评论

    相关推荐

    同样是函数,在CC++中有什么区别

    ,即使没有数据返回,也得写 void。 第二个函数名。 C语言函数名绝对不能重名,除了用上 weak 这样的黑科技。同一个项目中,函数重名
    的头像 发表于 11-29 10:25 285次阅读

    使用C语言实现函数模板

      用C语言能不能实现一个通用的函数,既能完成整数的相加,又能完成浮点数的相加?
    的头像 发表于 11-09 11:38 381次阅读

    C语言中的socket编程基础

    数据 步骤6:关闭socket 创建socket 在C语言中,创建socket需要使用socket()函数。这个函数需要两个参数:域
    的头像 发表于 11-01 16:51 305次阅读

    C语言中最常见的宏定义写法

    如果让你用C语言写个宏定义,我相信大部分同学顺手就能写出define。
    的头像 发表于 10-28 11:12 265次阅读

    STM32单片机几种常见的开发环境?

    ,包括STM32系列。它提供了强大的编辑、编译、调试和仿真工具,适合于嵌入式系统的开发。KeilMDK支持使用C语言和汇编语言进行开发,同时也提供了丰富的库函数
    的头像 发表于 05-18 08:04 3050次阅读
    STM32单片机<b class='flag-5'>有</b>哪<b class='flag-5'>几种</b>常见的开发环境?

    请问为什么非main.c的其他文件能调用库函数

    main.c中调用库函数我可能理解: 是因为在main.c中引用了#include \"sys.h\"头文件,而这个头文件包含了各库函数的定义声明。 但其他文件诸如这样
    发表于 04-25 06:49

    C语言数据类型哪些

    C 语言中,数据类型指的是用于声明不同类型的变量或函数的一个广泛的系统。变量的类型决定了变量存储占用的空间,以及如何解释存储的位模式。
    发表于 03-20 10:56 469次阅读
    <b class='flag-5'>C</b><b class='flag-5'>语言</b>数据类型<b class='flag-5'>有</b>哪些

    C语言内存泄漏问题原理

    内存泄漏问题只有在使用堆内存的时候才会出现,栈内存不存在内存泄漏问题,因为栈内存会自动分配和释放。C语言代码中堆内存的申请函数是malloc。
    发表于 03-19 11:38 521次阅读
    <b class='flag-5'>C</b><b class='flag-5'>语言</b>内存泄漏问题原理

    浅谈C语言中的函数定义

    如果函数要使用参数,则必须声明接受参数值的变量。这些变量称为函数的形式参数。 形式参数就像函数内的其他局部变量,在进入函数时被创建,退出函数
    发表于 03-11 10:09 384次阅读

    C语言中的可变参数介绍

    C 语言为这种情况提供了一个解决方案,它允许您定义一个函数,能根据具体的需求接受可变数量的参数
    发表于 02-28 14:00 309次阅读
    <b class='flag-5'>C</b><b class='flag-5'>语言</b>中的可变参数介绍

    C语言中的动态内存管理讲解

    本章将讲解 C 中的动态内存管理。C 语言为内存的分配和管理提供了几个函数。这些函数可以在 头文件中找到。
    的头像 发表于 02-23 14:03 393次阅读
    <b class='flag-5'>C</b><b class='flag-5'>语言</b>中的动态内存管理讲解

    plc编程语言c语言的联系 c语言和PLC什么区别

    语言,主要用于开发各种应用程序。尽管PLC编程语言C语言一些相似之处,但它们之间也存在一些明显的区别。 首先,PLC编程
    的头像 发表于 02-05 14:21 4107次阅读

    GD32 MCU启动后如何运行到main函数

    GD32 MCU启动后如何运行到main函数入口?你是否也有这样的疑虑。在执行到main函数之前MCU干了哪些事情呢?下面为大家解答。
    的头像 发表于 01-15 10:00 1078次阅读
    GD32 MCU启动后如何运行到<b class='flag-5'>main</b><b class='flag-5'>函数</b>

    如何解决C语言中的“访问权限冲突”异常?C语言引发异常原因分析

    如何解决C语言中的“访问权限冲突”异常?C语言引发异常原因分析  在C语言中,访问权限冲突异常通
    的头像 发表于 01-12 16:03 5657次阅读

    嵌入式C语言大神的进阶思路

    熟悉一种或几种CPU架构,掌握几种架构的汇编语言,学会使用反汇编去分析C语言底层运行过程
    的头像 发表于 01-02 09:58 625次阅读