博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
void main()正确么?
阅读量:4111 次
发布时间:2019-05-25

本文共 879 字,大约阅读时间需要 2 分钟。

void main()正确么?

 void main()正确么?这个提问有些让人摸不着头脑的样子,但这的确值得思考。见过很多种的main()函数风格,例如:void main(void)、int main(void)、int main(int argc, char** argv )、int main(int argc, char* argv[] )、int main(int argc, char* argv[], char*envp[] ),这些看起来都不一样,但都在某些场合下被人们所使用。
 main()函数是入口函数,这在有的人看来视乎是理所当然的常识。首先有一点,程序运行于操作系统下都需要入口函数,这入口函数是整个程序的开始。所以“main()是入口函数”这句话,更准确的来描述是,具有这种性质的函数就是入口函数(入口函数的函数名未必一定就是main),最关键一点就在于它由操作系统调用,操作系统要求在本系统下运行的程序要提供这种函数来给它调用。那么这就好理解了,在某一操作系统下,操作系统要求我们定义怎样的入口函数。那么这样就合乎理解了。关键不在于我们想怎样声明,而是操作系统要求我们怎样声明。
 但是怎样的声明才是真正符合的呢?见过各种类型的代码风格,甚至有的人在main()函数的结尾不使用return,而是直接exit的,对他们而言视乎是使用int main()或者void main()都没有区别的样子,但实际上并非如此,假设某一操作系统下,要求其运行的程序的入口必须为int main(int argc, char* argv[]),并且不支持int main(void),那么int main(int argc, char* argv[])便成了唯一正确的声明,如果在该系统下某一程序的入口设置为void main(void),那么很抱歉,操作系统并不能调用该程序的入口函数。
 最后,我个人相对来说还是比较喜欢用int main(void)格式定义入口函数(如果允许省略而我的程序又用不上参数的话),因为它比较常见,很多操作系统都支持。

转载地址:http://qmmsi.baihongyu.com/

你可能感兴趣的文章
vue-cli脚手架里如何配置屏幕自适应
查看>>
laravel通用apiResource get update
查看>>
laravel 修改api返回默认的异常处理
查看>>
高德坐标转换百度坐标 javascript
查看>>
tp5封装通用的修改某列值
查看>>
laravel控制器与模型名称不统一
查看>>
vue登录拦截
查看>>
npm配置淘宝镜像仓库以及electron镜像
查看>>
linux设置开机自启动脚本的最佳方式
查看>>
VUE SPA 单页面应用 微信oauth网页授权
查看>>
phpstorm 集成 xdebug 进行调试
查看>>
npm和node升级的正确方式
查看>>
laravel事务
查看>>
springcloud 连续请求 500
查看>>
vue复用新增和编辑表单
查看>>
Ubuntu 16.04 apt-get更换为国内阿里云源
查看>>
vue cli 3.0 配置代理服务器proxy实现跨域请求
查看>>
require/exports import/export 区别
查看>>
画廊效果baguetteBox.js
查看>>
新版的vue cli默认没有自动创建router.js 和 store.js
查看>>