高质量C编程08-预处理
2016-05-13 13:31
190 查看
1.预处理的概念
C语言中,以#开头的语句统称为编译预处理命令.
这些命令必须在一行的开头以
#开始,末尾不加分号,并且每条命令独占一行,以区别于一般的C语句.它们可以放在程序的任何位置.
2.宏
(1)宏是一种定义,它就是给一个语句块(宏体)定义了一个名字#define 宏名 宏体
(2)宏定义好处
提高了可读性
减少了书写错误
维护性
提高运行速度
(3)预处理时执行替换动作,把源程序中使用宏定义的地方替换成宏体,这个过程叫做宏展开或宏替换
3.无参宏和带参宏
(1)宏分为两种无参宏
带参宏
(2)区别
宏名字后有参数就是带参宏,也叫宏函数
4.条件编译
(1)三种方式
①方式1:#ifdef 标识符 程序段1 #else 程序段2 #endif
②方式2:(防止头文件重复包含)
#ifndef 标识符 程序段1 #else 程序段2 #endif
③方式3:
#if 表达式 程序段1 #else 程序段2 #endif
(2)用途:
①调试程序(打印调试时)②防止一个源文件对同一个头文件的多次重复包含
③只使用有效代码参加编译,提高效率
5.文件包含
#include "文件名" #inclue <文件名>
(1)文件包含可以指定所包含文件的绝对路径:
如:
#include "C:\Program Files\Microsoft Visual Studio\MyProjects\01.h"
(2)文件包含可以指定所包含文件的相对路径
如:
#include "...\MyProjects\01.h"
推荐使用相对路径
相关文章推荐
- php webservice实例(转载)
- SSM框架——使用MyBatis Generator自动创建代码,会遇到“前言中不许有内容的错误”
- C#根据汉字获取编码和根据编码获取汉字
- java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/ConditionalTagSupport
- Eclipse错误: 找不到或无法加载主类或项目无法编译10种解决大法!
- Z字形编排问题
- java 的反射机制与泛型(傻瓜版)
- c++ 常量表达式
- C#单例模式
- dataframe按照条件选取行
- 灰帽子python 读书笔记 2
- @resource注解为空
- 1052:C语言程序设计教程(第三版)课后习题11.8
- 高质量C编程07-指针及链表
- eclipse 中java compiler level does not match the version of the installed java project face问题
- C++中两种常用的记录程序运行时间的方法的总结
- Java秘术:用枚举构建一个状态机
- C语言获取文件长度及全部内容
- C++ 引用
- python数据分析1:获取双色球历史信息