独闷闷网

标题: int main( ){} ,void main( ){} ,int mian(void){}三者区别?已解答。 [打印本页]

作者: jianhong_wu    时间: 2014-7-22 13:36
标题: int main( ){} ,void main( ){} ,int mian(void){}三者区别?已解答。
本帖最后由 jianhong_wu 于 2015-5-22 06:11 编辑

ForARM-海角渔阳
鸿哥,我一直搞不懂这几个的区别
1、  int main( ){}
2、 void main( ){}
3、 int mian(void){}
求指教!

鸿哥解答:
(1)int main( )和int mian(void)是一样的,括号里可以写void,有很多C编译器也可以省略不写void,但是标准的写法应该在括号里写void。比如STM32单片机的编译器,必须在括号 写void。
(2)void main()与int mian()的区别:前面带void表示函数不返回值,带int表示函数内部要返回值,多加一句return 某值;
(3)在主函数中,只要能编译通过,int main( ){},void main( ){},int mian(void){}这三种写法没有区别。



作者: 韩原123456    时间: 2014-7-22 13:39
不错,回答的很好
作者: 黑夜之狼    时间: 2014-7-22 13:42
为什么在stm32里面,都是写int main(void),而且后面是没有返回值,也就是return 0,void main(void)编译器MDK出现警告?
作者: jianhong_wu    时间: 2014-7-22 13:47
黑夜之狼 发表于 2014-7-22 13:42
为什么在stm32里面,都是写int main(void),而且后面是没有返回值,也就是return 0,void main(void)编译器 ...

这个只是一种习惯性写法,至于它为什么不出现警告,不用深究,只要能编译通过就可以了。
作者: 黑夜之狼    时间: 2014-7-22 14:07
jianhong_wu 发表于 2014-7-22 13:47
这个只是一种习惯性写法,至于它为什么不出现警告,不用深究,只要能编译通过就可以了。

明白了,谢谢鸿哥




欢迎光临 独闷闷网 (http://www.dumenmen.com/) Powered by Discuz! X3.2