函数定义与调用
函数是一块代码,接收零个或多个参数,做一件事情,并返回零个或一个值
调用函数
函数名(参数值)
()起到了表示函数的重要作用
即使没有参数也需要()
如果有参数,则需要给出正确的数量和顺序
这些值会被按照顺序依次用来初始化函数中的参数
函数的返回
return停止函数的执行,并送回一个值
可以return后不加数值,也可以加数值
一个函数中可以出现多个return值
int max(int a,int b) //定义函数
{
if(a>b){
return a;
}else{
return b;
} //比较a与b的大小
没有返回值的函数
void函数名(参数表)
不能使用带值的return
可以没有return
调用的时候不能做返回值的赋值
函数参数
函数参数有两种:形参和实参。
形参:在定义函数时,把函数括号中的变量名称为形式参数,简称形参或虚拟参数。
实参:在调用函数时,把函数括号中的参数称为实际参数,简称实参。实参可以为常量、变量和表达式。
函数参数处理顺序
C函数参数作为一个整体执行的顺序是从右向左,所以会先处理最右端的参数,然后依次向左处理。
函数参数传递
三种传递方式:传值方式,地址传递,引用传递
传值方式:将实参的值拷贝给函数或方法,在函数内对形参进行操作,操作的对象是实参的拷贝,对实参本身没有影响,在函数结束返回后,形参被丢弃释放,实参的内容不会被改变
传址方式:将实参的地址传递给函数,在函数内对形参进行操作等同于对实参进行相同的操作,在函数调用结束返回后,形参被释放,实参的内容是对形参进行操作后的结果。
传址又分为:引用传递&指针传递
引用传递,实际是通过指针来实现的,能达到使用的效果如传址,可是使用方式如传值。
函数变量
本地变量:本地变量就是在函数内部定义地变量
本地变量特点:只在函数范围内有效,
全局变量:就是这个变量在本文件中可以被任何函数使用。
全局变量特点:全局变量在程序的全部执行过程中都占用存储单元,
在函数外可以声明变量
变量声明的位置决定了该变量名的使用范围
在函数外声明的变量,其值可以保存到该程序运行结束
静态类别变量的生存周期贯穿于整个程序的运行区间
当全局变量与局部变量重名时,局部变量会屏蔽掉全局变量
————————————————