函数解析
1.为什么要用函数
a)函数能够增加程序的可读性
b)提高开发的效率
c)可以重复使用和在各种适用情况下使用
void swap(int *a,int *b) { int t; t=a; a=b; b=t; }
这段代码适用于任何想要交换数字的时候,节省了时间。
2.为什么要用函数重载
a)解决了命名冲突问题,增加了可读性.
b)减少了用户的复杂性
void a(); void a(int); void a(float,float); void a(constchar*,constchar*); void Max(int,int); intmain() { a(2.4); return; }
函数重载可以优先选出想要应用的函数
3.什么是值传递
a)值传递是指只将要使用的值传入函数,而不改变值本身.就是指将一个实参传递给一个形参.
#include<stdio.h> void change(int num) { num=0; //修改参数 } int main() { int a=1; change(a); //调用函数 printf("%d",a);//输出变量,变量的值没改变 return 0; }
4.什么是地址传递
a)地址传递是指将实参的地址传给函数,可以在函数里面改变实参的值
#include<stdio.h> void change(int *num) { num=0; //修改参数 } int main() { int a=1; change(a); //调用函数 printf("%d",a);//输出变量,变量的值改变了 return 0; }
5.递归调用
a)明确函数作用
b)寻找结束条件
c)找出函数等价关系式
int fib(int n){ if(n <= 2){ return n; } // 结束条件 return fib(n-1) * n; }
此为斐波拉契数列递归实现的方法,函数的作用是计算出两项的乘积,结束条件是当n小于等于2,等价关系为最后一条代码.