循环
C语言种有三种循环:
do...while
while
for(初始化;条件判断;步进)
函数
主函数(main)
库函数
自定义函数
函数的发明,使得变成可以以函数为单位进行模块化,叫做面向过程。
函数的调用过程
软件工程中,有“高内聚,低耦合”的要求。 函数就是为了实现以上要求发明的产物。 函数是面向过程的“接口",其接口包含了:参数、返回值。 函数与函数之间,就是通过参数、返回值进行交互的。并且,因为低耦合的设计,函数与函数之间,互相不需要直到对方内部的实现。具体而言,函数调用过程,会从传参开始,到获取函数调用的返回值结束。
函数是通过栈来存储交互信息(包括参数、局部变量、返回地址):
栈其实就是一块内存区域,一般而言(纯经验),VS系列,栈的地址为0x0018xxxx或0x0019xxxx。 代码区域,以0x0040xxxx, 0x00041xxxx开头。
具体的传参细节要复杂得多,包括:
1. 按照调用约定传参
2. 保存返回地址
3. 跳转到被调用的函数(转移流程)
4. 保存上一层函数的栈地址
5. 开辟局部变量空间
6. 保存程序环境
7. 开始执行被调用函数