1.自定义函数的作用:
a.一个函数解决一个问题,便于代码阅读
b.便于代码移植
运用函数将功能分块的原则与要求:
1.main函数仅用与搭建框架,具体的功能实现放在每个函数中(一个函数实现一个功能)
2.return的作用
1.返回一个值
2.提前结束函数
3.指针的作用
1.不同的代码块之间进行数据的相互传递,且在一个代码块中改变其中一个参数,相关联其他代码块中的的参数也跟着改变(通过地址实现的)
2.一个或一组数据所需的内存大小不确定,此时用指针,可以避免浪费内存。
4、函数的引用类型参数:
- 以引用返回函数值,定义函数时需要在函数名前加 &
- 用引用返回一个函数值的最大好处是,在内存中不产生被返回值的副本。
注意事项:
(1)声明一个引用时,必须同时使之初始化,及声明它代表哪一个变量。(有一个例外,引用作为函数参数时,不需要初始化)
(2)在声明一个引用后,不能再使之作为另一变量的引用。
(3)不能建立引用数组。
例:
//求两个参数的和
void sum(int a,int b,int &c){
c = a + b;
}
main{
int a = 2;
int b = 3;
int c = sum(a,b, c);
print(c);
// 输出结果为5
}
5. 函数的递归调用:
递归调用是一种特殊的嵌套调用,是某个函数调用自己或者是调用其他函数后再次调用自己的,只要函数之间互相调用能产生循环的则一定是递归调用,递归调用一种解决方案,一种是逻辑思想,将一个大工作分为逐渐减小的小工作。例:
long factorial(int n){
long result;
if(n==0 || n==1){
result = 1;
}else{
result = factorial(n-1) * n; // 递归调用
}
return result;
}