函数定义的一般形式如下:
函数值类型 函数名 (形式参数列表){
函数体
}
1) 函数值类型,就是函数返回值的类型。在我们后边的程序中,会有很多函数中有 return x 这个东西,这个返回值也就是函数本身的类型。还有一种情况,就是这个函数只执行操作,不需要返回任何值,那么这个时候它的类型就是空类型 void,这个 void 按道理来说是可以省略的,但是一旦省略,Keil 软件会报一个警告,所以我们通常也不省。
2) 函数名,可以由任意的字母、数字和下划线组成,但数字不能作为开头。函数名不能与其他函数或者变量重名,也不能是关键字。什么是关键字呢,后边我们慢慢接触,比如char 这类,都是关键字,是我们程序中具备特殊功能的标志符,这种东西不可以命名函数。
3) 形式参数列表,也叫做形参列表,这个是函数调用的时候,相互传递数据用的。有的函数,我们不需要传递参数给它,那么可以用 void 来替代,void 同样可以省略,但是那个括号是不能省略的。
4) 函数体,包含了声明语句部分和执行语句部分。声明语句部分主要用于声明函数内部所使用的变量,执行语句部分主要是一些函数需要执行的语句。特别注意,所有的声明语句部分必须放在执行语句之前,否则编译的时候会报错。
5) 一个工程文件必须有且仅有一个 main 函数,程序执行的时候,都是从 main 函数开始的。
6) 关于形参和实参的概念,我们后边再总结,如果遇到程序里有,大家再跟着抄一段时间。先用,后讲解,这样更有利于理解。
我们来回顾一下上节课的闪烁 LED 程序中的主函数,大家根据注释再认真分析一遍,是不是对函数的认识就清楚多了。