c++句法要求,Main()函数定义以函数头int main()开始。

c++中函数可以被其他函数激活或调用,函数头描述了函数与调用它的函数之间的接口。通常由函数返回类型 函数名 (参数列表/形参列表) 的形式构成。

但是这样的通用格式用于main函数有点奇怪,因为通常不会从程序的其他部分调用main,main()通常被启动代码调用,main是作为程序与操作系统之间的接口。

这里简单介绍一下启动代码

启动代码是一段和硬件相关的汇编代码。由编译器添加到程序中,使程序和操作系统的桥梁,它是一个工程中所必不可少的,他的主要作用是:
1 堆栈( SP)的初始化;
2 初始化程序计数器(PC)
3 设置向量表异常事件的入口地地址;
4 调用Main函数。

简而言之,下面的函数头表明main函数可以给调用它的函数返回一个整数值,且不从调用它的函数那儿获取任何信息

int main()

有些地方需要注意:

main()  //original c style

上面是很多现有程序都使用的经典C函数头,C语言中省略返回类型相当于说函数使int类型,但是c++逐步淘汰了这个用法,可以尝试使用下面的变体:

int main(void)  //非常清楚明白地风格

上面的风格,括号中void指出函数不接受任何参数,在c++(不是c)中,让括号空着和在括号中使用void等效(在c中括号中空着表示对是否接受参数保持沉默)。
还有常使用的下面这种形式:

void main()

逻辑上与int main(void)是一致的,void返回类型意味着不返回任何值,但是该变体不是标准强制的一个选项,所以有些系统上不能工作,要尽量避免这种格式
另外ANSI/ISO C++标准对于抱怨main函数最后需要包含返回语句过于繁琐做出了让步,编译器到达main函数末尾没有遇到返回语句时,默认retrun 0;这种默认仅限于main() 函数。

main()可以使用其他名称吗?

不可以,且大小写和拼写都必须正确,c++程序从main()函数执行,因此,没有main()程序就不完整,编译器将指出未定义main()函数。
当然也有例外情况,例如:

  • 在windows编程中,可以编写DLL模块,这是其他windows程序可以使用的代码。由于DLL模块不是独立程序,因此不需要main()。
  • 还有专用环境的程序——机器人中的控制芯片等也可能不需要。
  • 还有编程环境提供框架程序,该程序调用一些非标准函数,如_tmain()。这种情况下有一个隐藏的main()。

c++中的main函数相关推荐

  1. Linux中 C++ main函数参数argc和argv含义及用法

    Linux中 C++ main函数参数argc和argv含义及用法 简介 argc 是 argument count的缩写,表示传入main函数的参数个数: argv 是 argument vecto ...

  2. 反汇编基础-MSVC2012,2008,MinGw中控制台main函数入口特征

    目录 理论 MSVC2012 MSVC2008 MinGW 理论 断点的作用:当程序运行到断点处就会暂停,并将程序接下来的处理权交给这个程序的调试器,调试器就拥有了被调试程序中获取相关信息的权利,在某 ...

  3. 在一个C程序中,main()函数可以放在哪?

    C语言规定,在一个C程序中,main()函数的位置(). A.必须在系统调用的库函数之后 B.必须在程序的开始 C.必须在程序的最后 D.可以在任意位置 答案:D [解析] 每个C程序有且只有一个主函 ...

  4. 浅析Python中的main函数

    Python作为一门较为灵活的解释型脚本语言,其中定义的main()函数只有当该Python脚本直接作为执行程序时才会执行: 当该python脚本被作为模块(module)引入(import)时,其中 ...

  5. python打印时间_在Python中定义Main函数(第二部分)

    Main函数的最佳实践 既然您已经了解两种执行方式上的差异,那么掌握一些最佳实践方案还是很有用的.它们将适用于编写作为脚本运行的代码或者在另一个模块导入的代码. 如下是四种实践方式: 将大部分代码放入 ...

  6. import是引进外部函数吗_你必须要知道的Python中的main函数

    在很多开发语言中,都有一个叫做mian的主函数,这个函数一般都是程序的入口,当程序启动时,首先执行这个函数. 比如C#语言中的main函数长这个样子. static void Main(string[ ...

  7. java中的main的介绍_Java中的main函数详细讲解

    第二.可以在另一个类中向包含main()的类传递参数,如下例: public class A { public static void main(String[] args) { for(int i= ...

  8. C++类中的main函数

    这些天,在poco c++中阅读代码,发现类中定义了main函数;第一次看到这样的用法,但没有查到这样写的意义和目的,难道像java那样写,自己写了个代码,可以供大家参考: #include < ...

  9. myEclipse导出jar包,cmd执行项目中的main函数

    1.项目右击选择export导出 2.选择java文件夹下的Runnable Jar file,点击next. 3.选择测试类与jar包导出的路径,点击finish 4.进入导出路径,会出现相关jar ...

最新文章

  1. 在SQL Server中如何转化长日期形式为短日期格式
  2. Nacos 1.3.0 发布, 全新内核构建
  3. MySQL使用正则表达式
  4. 计算机技能最新需求排名:Python增速爆炸,SQL和Java老当益壮,AWS令人惊讶
  5. 浅谈O2O产品信息结构化
  6. CISCO专用协议CDP
  7. 有关域名方面的相关问题
  8. CentOS 安装jdk1.7 64位
  9. promise用法_Promise的秘密
  10. Android官方开发文档Training系列课程中文版:线程执行操作之线程间通讯
  11. 京东发布“下一代智能协同开放平台”战略 助力政企数字化转型
  12. 机动车c1科三考试语言灯光,c1科目三灯光模拟考试
  13. 常见的通配符_技术干货 | 常见的mysql注入语句
  14. 【通信协议】I2S/IIS总线介绍
  15. 基于matlab摄像毕业设计,基于MATLAB的车牌识别毕业设计
  16. php 0 加减乘除,php 加减乘除计算器 用php简单实现加减乘除计算器
  17. 重庆工商职业学院计算机专业在哪个校区,重庆工商职业学院地址在哪里
  18. GPU显存占满利用率GPU-util为0
  19. Java简单的记账本项目
  20. java 调excel 的宏_Microsoft Excel宏来运行Java程序

热门文章

  1. UE4 C++纯slate开发沙盒游戏(一) 菜单部分
  2. JAVA8学习7-Collector接口详解以及实现类
  3. U盘启动安装linux服务器(附带ULtraISO工具下载地址和注册码)
  4. SqlSession解析
  5. appium知识体系(思维导图/脑图)
  6. 清理小树PDF及布丁压缩和桌面
  7. phpstudy中80端口和3306端口被占用问题
  8. php 输出内容到表格,phpexcel 输出表格到页面(在线预览表格),导出excel
  9. 【Linux】XShell和Xftp介绍
  10. ubuntu屏幕反转180度恢复正常