1.函数定义
存储类型 函数类型 函数名(数据类型1 形参1, 数据类型2 形参2, ...)
{
函数体;
return 返回值;
}
2.函数的调用
函数名(实参1, 实参2, ...)
3变量作用域和生存周期
3.1作用域(变量能够使用的范围):
变量作用域默认为离定义该变量最近的大括号内
局部变量:变量作用域在某个大括号范围内
全局变量:变量作用域在整个文件中
全局变量都在所有函数的外面定义
3.2 生存周期
变量从空间被开辟到被回收的整个过程称为生存周期
3.2.1auto(默认):存储类型 数据类型 变量名
将变量存放在栈区:
1.未经初始化值为随机值
2.执行到变量定义时开辟空间
3.执行到超过变量作用域范围回收变量空间
3.2.2register(寄存器变量)
寄存器满了的话 将会村到栈区
3.2.3 extern(外部变量)
extern int a;
3.2.4static(静态变量)
将变量存放在数据区中:
1.未经初始化值为0值
2.编译时开辟空间,程序运行时加载该空间
3.程序结束时回收空间
4递归函数:函数定义时调用本身
注意1.递归一定要有结束条件
2.避免深层次的递归
5.函数的传参
5.1复制传递
实参拷贝至形参(形参不影响实参)
5.2全局变量传递
6.数组传递(int Fun(int array[], int len))
数组传递时,函数体内部形参操作的数组和实参操作的数组为同一数组
1.封装冒泡排序函数
2.封装一个函数实现获得一个数字每位数上的和值
3.封装一个函数判断给定的数字是否为素数