本节目标
1.函数定义及优点
2.函数的结构
3.函数封装类型
4.一些说明
什么是函数?
“函数”这个名词是从英文function翻译过来的,其实function的原意是“功能”。
顾名思义,一个函数就是一个功能。
往往我们在制作一个项目时,所要实现的不仅仅是一个功能,而是很多功能一起组装而成的。有一些功能实现起来很繁琐,若不是用函数进行封装,会使的我们的代码块变得很冗长,不利于我们的编写和查看。
且随着程序语句数量不断地增加 ,整个程序也会变得越来越混乱 。为了使程序的编写和维护变得简单高效 ,工程师们设计出了一个叫做函数的处理机制。
即将一行或多行的语句进行封装起来,并给它们一个特定的名称。使用时只需要对特定名称进行调用,程序就会依次执行内部封装的所有语句。
函数是C语言中模块化程序设计的最小单位,即可以把每个函数都看成一个模块,也可将若干相关函数合成一个模块。
把我们编写的程序看成一个产品,如:一辆完整的汽车。
而函数就是组成汽车的各种零部件,可以是自己设计的(自定义函数)也可以是别人设计好的,或者是现成的标准产品(标准库函数,如:pinMode())。
我们所要制作的汽车就是由这些零部件组装而成的。
函数的优点:
1.当需要统一调整某些语句行为时,只需将对应的函数中语句进行修改即可,改后所有的调用都会统一更新,维护效率也得到极大提升。
2.使得整个程序代码变得模块化,不同程序因为有了函数处理机制,很多重复代码就可通过函数调用替换,简洁了代码量。
3.不同行为的函数被封装在不同的函数中,使用者无需关心内部实现,只需决定是否需要调用,为多人协作进行大型程序的开发提供了便利。
函数结构:
函数封装类型:
根据有无返回值和有无参数可分为以下四类:
示例程序:
函数的形参和实参
在调用函数的时候,函数大多数都有参数,主调函数和被调用函数之间需要传递数据。
在定义函数时函数名后面括弧中的变量名称为“形式参数”,简称形参。
在调用函数时,函数名后面括号中的变量或表达式称为“实际参数”,简称实参。
1.形参在未出现函数调用时,他们并不占用内存单元,只有在发生函数调用的时候形参才被分配内存,函数调用完成后,形参所占的内存被释放
2.实参可以是变量,常量或者表达式
3.在定义函数时,一定要指定形参的数据类型
4.形参与实参的数据类型一定要可兼容
5.在C语言中,实参与形参的数据传递是“值传递”,即单向传递,只由实参传递给形参,而不能由形参传递给实参。
函数的返回值
1.函数的返回值是通过函数中的return语句获得,return语句将被调用函数中的一个确定值带回到主调函数。
2.函数的返回值类型要与函数的类型一致。
3.若函数值类型与return语句表达式值不一致,则以函数类型为准,即函数类型决定返回值的类型。
函数调用方式
1.函数语句
单独一个语句,并不要求返回一个值,只是要求函数完成一定操作。
如:Serial.print(“Hello”);
2.函数表达式
出现在一个表达式中,要求函数带回一个确定的值参加运算。
如:int temp =(200+) digitalRead(13);
3.函数参数:
做为一个函数的参数
如:int m =max(a,analogRead(A0));
一些说明