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语言
    +关注

    关注

    183

    文章

    7642

    浏览量

    144605
  • 编程
    +关注

    关注

    90

    文章

    3707

    浏览量

    96764
  • 函数
    +关注

    关注

    3

    文章

    4406

    浏览量

    66837
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    C语言的常量介绍

    在程序执行过程中,值不发生改变的量称为常量。 mtianyan: C语言的常量可以分为直接常量和符号常量。 直接常量也称为字面量,是可以直接拿来使用,无需说明的量,比如: 整型常量:13、0
    发表于 11-24 07:12

    C语言和单片机C语言什么差异

    有些扩展,及一些特殊写法C51扩展的 data xdata bit sbit一类的,还有一些中断程序写法 void int() interrput 1一类的。 2、C是一门高级
    发表于 11-14 07:55

    跳转不进去main函数是怎么回事?

    ); /* RT-Thread components initialization */ rt_components_init(); //到了这个地方就无法往下执行,无法跳转到main函数
    发表于 10-09 08:19

    在rtthread的main函数里用HAL_Delay函数不起作用是哪里的问题?

    在rtthread的main函数里用HAL_Delay函数无效,我设置延时500ms打印一次,但是实际上,一秒打印了几百次,很显然是HAL_Delay出现了问题。用RT_thread_mdelay
    发表于 09-15 07:53

    详解hal_entry入口函数

    当使用RTOS时,程序从main函数开始进行线程调度;当没有使用RTOS时,C语言程序的入口函数main
    的头像 发表于 07-25 15:34 1661次阅读

    C语言中的内联函数与宏

    C编程中,内联函数和宏都用于避免函数调用的开销并编写可复用的逻辑部分,但它们在工作方式和安全性方面存在显著差异。
    的头像 发表于 07-25 15:10 1715次阅读
    <b class='flag-5'>C</b><b class='flag-5'>语言</b>中的内联<b class='flag-5'>函数</b>与宏

    深入理解C语言函数—编程中的“积木块”艺术

    在编程的世界里,函数就像建筑中的“积木块”——它们是构建复杂程序的基石。通过灵活组合这些模块,开发者能打造出功能强大且结构清晰的代码。函数之所以成为C语言的核心,正是因为它解决了编程中
    的头像 发表于 06-30 17:26 1489次阅读
    深入理解<b class='flag-5'>C</b><b class='flag-5'>语言</b>:<b class='flag-5'>函数</b>—编程中的“积木块”艺术

    深入理解C语言C语言循环控制

    改变程序的执行流程,使代码更加灵活和可控。本文将详细介绍这些语句的作用及其应用场景,并通过示例代码进行说明。Part.1break语句C语言中break语句两种
    的头像 发表于 04-29 18:49 1735次阅读
    深入理解<b class='flag-5'>C</b><b class='flag-5'>语言</b>:<b class='flag-5'>C</b><b class='flag-5'>语言</b>循环控制

    新概念51单片机C语言教程入门、提高、开发、拓展全攻略

    第一个发光二极管 2.3 while语句 2.4 for语句及简单延时语句 2.5 Keil仿真及延时语句的精确计算 2.6 不带参数函数写法及调用 2.7 带参数函数写法及调用
    发表于 04-15 13:57

    为什么不需要给回调函数传递参数

    回调函数C语言里面一个重要机制。
    的头像 发表于 04-15 10:11 622次阅读

    全套C语言培训资料—PPT课件

    全套C语言培训资料,共427页,13个章节:C语言概述、程序的灵魂—算法、数据类型 & 运算符与表达式、顺序程序设计、选择结构程序设计、循环控制、数组、
    发表于 03-12 14:50

    深入探索GCC的attribute属性

    修饰变量、函数或者数据类型的属性,属性很多,有些确实很有用。 找了几个可以修饰函数的属性,供大家参考下。 如果希望函数可以在 main
    的头像 发表于 02-13 10:05 786次阅读

    C语言如何处理函数的返回值

    的那样,直接把 1234 赋值给了变量 ret? 搞懂这个问题不难,只要看下汇编代码就行。 把代码编译一下,只编译不链接,得到的就是C对应的汇编代码。 这块是 test 函数,不用管上面这些代码,如果一行一行去分析,没有汇编基础的话确实会头疼。 看下这行代码,很明显,12
    的头像 发表于 01-16 09:21 748次阅读

    EE-128:C语言中的DSP:从C调用汇编类成员函数

    电子发烧友网站提供《EE-128:C语言中的DSP:从C调用汇编类成员函数.pdf》资料免费下载
    发表于 01-07 13:48 0次下载
    EE-128:<b class='flag-5'>C</b><b class='flag-5'>语言</b>中的DSP:从<b class='flag-5'>C</b>调用汇编类成员<b class='flag-5'>函数</b>

    C语言笔试题

    来看一个C语言笔试题,应该很少有人能给出正确答案。 #include int f(){ printf("this is f ..."); return 1;}int g(){ printf
    的头像 发表于 12-30 09:48 673次阅读