1.
函数的声明及定义
声明:只要在函数调用之前声明即可,
先声明后使用
定义:包含函数体,包含函数的实现过程
在工程中,函数的声明写在头文件中,如:add.h 而定义写在源文件中
在声明时,直接写
#include“add.h”
目的:为了方便多人协作:
以及:代码保护
2.
void 作为返回值类型的函数无返回值
3.
将函数放入静态库:
add.h 变成add.lib
导入静态库:
#pragma comment(lib,”add.lib”)
4.
递归:程序调用自身的编程技巧
即递推+回归
主要的思考方法:大事化小:即减小代码量
递归的条件:
a.存在限制条件
b.每次递归调用之后越来越接近限制条件
如果一直递归,栈的内存不足,会发生栈溢出:Stack overflow
如图片中的函数
递推:打印了‘1’
回归:依次打印‘2’,‘3’,‘4’
提示:如果递归好想、没有明显的缺陷,那就可以使用递归
不然还是用迭代(循环)
5.
函数之所以能实现调用
是因为函数在调用时,会在内存中创建一个函数栈帧,回归完成后,函数栈帧就销毁
6.
strlen 返回类型:size_t
是无符号整型,即unsigned int类型
用%zd或%u打印
7.
应用:
尝试使用递归实现以下程序:
汉诺塔问题//青蛙跳台阶问题