结构化程序设计思想与要点
函数间参数传递的3种方式
1.值传递
2.引用传递
3.指针传递
多文件结构(常见于团队协作)
1.cpp 2.cpp 3.cpp …
当源代码很长 函数很多的时候,分散保存在不同的源程序文件中,来组织和管理。
一旦要调用,必须先声明。
声明外部函数原型 与 外部全局变量
extern void SUM();
void SUM(); // 可省略extern关键字
extern double number; //不可省略extern!
extern double number = 0; //错误!不能初始化!
头文件
比如程序员甲编写了一个C++源程序文件1.cpp,其他程序员只要访问1.cpp中的几个函数或全局变量,就必须在自己的文件中依次写几条声明,很麻烦。
程序员甲在编写好1.cpp后,另外再编写一个头文件,其中包含1.cpp所有外部函数和外部全局变量的声明语句。
习惯上,将这个头文件命名为1.h或1.hpp,(即同名,拓展名.h或.hpp),即 #include”1.h”
以下甲、乙互相编写了头文件方便对方
static是多义词,在定义全局变量和局部变量时有区别??!!
静态函数 与 静态变量
语句前面加“ static ”
静态全局变量只能被本文件内使用!不能被其他文件使用!
编译预处理指令
以 # 开头,结尾不加 ;
常见的预处理指令有:
1.文件包含指令 #include
- #include<>或”“通用,,区别是 编译器先到哪里去搜索该文件
1.通常用于插入头文件(.h)
2.将指定内容插入该指令所在的代码位置
3.<文件名>的填写规则
2.宏定义指令 #define
用来减轻工作量,方便快捷
0.用一个标识符来表示一段代码文本,其中的标识符称:宏名,所表示的代码文本称:宏文本
1.宏替换
2.C++有3种形式的宏:无参宏、有参宏(有无未知参数存在)、空宏
3.已定义的宏可以用宏删除指令 #undef 删除
3.条件编译指令
允许程序员将不同版本的源代码(比如下例中英混编)编写在同一程序文件中,便于管理和维护修改
有2种格式