一、函数
避免重复性代码;
让代码模块化。
1.函数的三种形式
1.函数的定义
1.先定义再使用
2.函数定义的形式
函数类型 函数名(数据类型1 形式参数1, 数据类型2 形式参数2, 数据类型3 形式参数3, ..)
{
函数体;
return 返回值;
}
函数类型:函数运行结果的类型(函数返回值与函数类型不匹配时,强制将返回值转换为函数类型后返回、函数类型不写默认为int类型)
函数名:函数的名字(要求与变量名要求一致)
注意:
1.函数类型不写,默认为int类型
2.如果不想返回结果,函数类型需要写成void类型
2.函数的调用
1.函数调用形式:
函数名(实参1, 实参2, 实参3, ..);
注意:1.函数调用时实参个数必须与形参个数一致;
2.如果实参类型与形参类型不匹配,则会将实参类型强制转换为形参类型;
3.函数的声明
被调函数在主调函数的下方定义,需要将被调函数声明。
2.变量的作用域及生存周期
作用域:变量能够使用的范围;
生存周期:变量从被分配空间到空间被收回的整个过程。
全局变量:作用域在全局均可以使用;
局部变量::作用域在局部范围可以使用。
1.存储类型
1.auto(默认)
自动型变量(局部变量)
局部变量的作用域在该变量定义最近的大括号内,超过大括号不能使用该变量。
局部变量:
1.未经初始化值为随机值;
2.执行到变量定义时为变量开辟空间;
3.超过变量作用域回收变量空间;
2.register
寄存器变量
如果寄存器存满了,则将变量存放在栈区中等价于auto类型。
3.extern
外部存储
声明一个变量是外部变量
声明外部存储的函数
定义:之前变量是不存在的,定义该变量为变量分配内存空间;
声明:之前变量是存在的,声明该变量的类型,同时声明变量是存在的。
4.static
静态变量
1.修饰变量让该变量称为静态变量
1.未经初始化为0值;
2.在编译时分配内存空间;
3.程序执行结束回收空间。
2.限定变量或者函数只能在本文件中使用;
3.防止多文件全局变量函数重名。
3.函数的传参
1.值传递
实参将值传给形参
2.全局变量传递
3.整型数组的传递
注意:
数组传参,函数体内可以按照函数体外的方式操作数组。