c语言中main函数作用,C语言main函数的标准定义

学过C语言的人都知道,main函数是程序启动的入口函数,每一个C语言程序里有一个main函数,在程序里它是唯独一个不能被其他函数调用的特殊函数。在众多的单片机C语言编译器里对main函数的写法都没有明确的要求,写法非常自由,可以写成带形参的函数,也可以写成无形参的函数,还可以写成返回值为任意数据类型的函数。通用的写法都是:void main () {…}。而根据C99标准的要求,main函数是一个有返回值的函数,而且返回值类型必须为int。下面这段英文描述是从C99标准的PDF文档上复制下来的:

5.1.2.2.1 Program startup

The calLEDat program startup is named main.The implementation declares no

prototype for this .It shall be defined with a return type of int and with no

parameters:

int main(void) { /* ... */ }

or with twoparameters (referred to here as argc and argv,though anynames may be

used, as theyareLOCal to the in whICh theyare declared):

int main(int argc, char *argv[]) { /* ... */ }

or equivalent;9)or in some other implementation-defined manner.

从C99标准的规定里可以看出,main函数的标准定义一般为这两种形式:

第一种形式:

int main (void)

{

……

return 0;

}

第二种形式:

int main (int argc, char *argv[ ])

{

……

return 0;

}

第一种定义main函数不带形参,写起来比较简便。编写单片机C语言程序是不需要通过操纵系统向main函数传递参数的,所以笔者推荐采用第一种标准定义。

标准的意义在于通用,对C语言来讲,符合标准意味着代码的可移植好。如果main函数不符合C99标准也没关系,只要编译器支持,对您的程序没有任何影响。到目前为止,没有哪个C编译器完全遵循C99标准,这都是为了让编译器兼容以前的代码,这也是为什么C标准十几年才修改一次的原因。当然,这并不代表新标准形同虚设,从发展趋势来看,C编译器都会逐渐向新标准靠拢。

既然有了标准我们就应该遵循。我们可以用权威标准来衡量一个代码的优劣,去批判“另类”代码,写出标准的C代码,提高代码的可移植性。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值