函数定义的一般形式如下:
函数值类型函数名(形式参数列表)
{
函数体
}
1、函数值类型,就是函数返回值的类型。在我们后边程序使用中,会有很多函数中有returnx这个东西,这个返回值也就是函数本身的类型。还有一种情况,就是这个函数只执行操作,不需要返回任何值,那么这个时候它的类型就是空类型void,这个void按道理来说是可以省略的,但是一旦省略,Keil软件会报一个警告,所以我们通常也不省。
2、函数名。可以是任何合法的标示符,但是不能与其他函数或者变量重名,也不能是关键字。什么是关键字,后边我们慢慢接触,比如char这类,都是关键字,是我们程序中具备特殊功能的标志符,这种东西不可以命名函数。
3、形式参数列表,我们也叫做形参,这个是函数调用的时候,相互传递数据用的。有的函数,我们不需要传递参数,那么可以用void来替代,void同样可以省略,但是那个括号是不能省略的。
4、函数体。函数体包含了声明语句部分和执行语句部分。声明语句部分主要用于声明函数内部所使用的变量,执行语句部分主要是一些函数需要执行的语句。特别注意,所有的声明语句部分必须放在执行语句之前,否则编译的时候会报错。
5、一个工程文件必须有且仅能有一个main函数,程序执行的时候,都是从main函数开始的。
6、关于形参和实参的概念,我们后边再总结,如果遇到程序里有,大家再跟着抄一段时间。先用,后讲解,这样更有利于理解。
我们再来回顾一下我们上节课闪烁LED程序部分
voidmain()//void即函数类型
{
unsignedinti=0;//定义一个无符号整数i,变量范围是0~65535
//并且赋一个初值0
ENLED=0;//先定义变量i,后写执行部分
ADDR0=0;
ADDR1=1;
ADDR2=1;
ADDR3=1;//74HC138开启三极管
while(1)//程序死循环
{
LED=0;//点亮小灯
for(i=0;i<30000;i++);//for延时操作
LED=1;//熄灭小灯
for(i=0;i<30000;i++);//for延时操作
}