C++ Primer个人学习笔记 第1章 快速入门

 

    本章主要介绍 C++ 的大部分基本要素,如:内置类型、库类型、类类型、变量、表达式、语句和函数等,主要让读者能编写、编译和执行简单的 C++ 程序。有一定的 C C++ 经验的读者可以略过。下面主要分析 main 函数的相关知识。

 

    main 函数能写成 void main ()吗?


每个 C++ 程序必须含有 main 函数,且 main 函数是(唯一)被操作系统显式调用的函数。

定义 main 函数和定义其他函数一样。定义函数必须指定 4 个元素:返回类型、函数名、圆括号内的形参表(可能为空)和函数体。

main 函数的返回值必须是 int 型,该类型表示整数。 int 类型是内置类型,即该类型是由 C++ 语言定义的。

 

    这里需要注意到的是 main 函数的返回值。关于 C C++ 规范里 main 函数的返回值,需要注意到一下几点:


     a. 很多人甚至市面上的一些书籍,都使用了void main( ) ,其实这是错误的。C/C++ 中从来没有定义过void main( ) 。C++ 之父 Bjarne Stroustrup 在他的主页上的 FAQ 中( http://www2.research.att.com/~bs/bs_faq2.html#void-main )明确地写着 The definition void main( ) { /* …… */ } is not and never has been C++, nor has it even been C.( void main( ) 从来就不存在于 C++ 或者 C )。


    b . C99 标准中,只有以下两种定义方式是正确的。


    其中的形参表可以做一些小的变动,如:char *argv[] 可以写成 char **argv;argv 和 argc 可以改成别的变量名(如 intval 和 charval),不过一定要符合变量的命名规则。

    在不需要从命令行中获得任何参数时,使用 int main (void)

    如果 main 函数没有 return 语句,则 C99 规定编译器要自动在生成的目标文件中加入 return 0; 语句,表示程序正常退出。但建议我们应该在程序后自己添加 return 语句,养成良好的习惯。注意 VC6 就不会在目标文件中自动添加 return 语句。


     c. C++98 中定义了以下两种 main 函数的定义方式。

    使用方法和规范与 C99 中基本一致。也可以在程序中省略 return 语句,编译器会自动添加该语句( VC6 同样不支持),但依然建议自己写上,养成好的习惯。


    d. main 函数的返回值是用来说明程序的退出状态。返回值必须为 int 型,若为 0 ,则表示程序正常退出;若为其他数值则表示程序错误退出,一般有着特有的含义。

 

本文主要参考“C/C++ 误区一:void main() ” 以及 “Bjarne Stroustrup个人主页 ”相关内容。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值