C语言进阶-第8~10讲:预处理
来源:互联网 发布:恐怖鸟深层网络文章 编辑:程序博客网 时间:2024/05/17 06:53
知识点总结:
预处理 以"#"开头的命令
(1)宏定义 #define ...
(2)文件包含 #include ...
(3)条件编译 #indef ...
宏定义 #define 标识符 字符串
带参数的宏定义 #define 宏名(参数表) 字符串
谨慎带参数的宏定义的副作用,原样替换,整体替换时要给参数加括号
文件包含?多文件程序组织
源文件与头文件的分离
一般头文件的几类内容:
对自定义类型的声明
函数声明
宏定义
全局变量定义
外部变量声明
或包含其他头文件
include命令的两种形式:
#include <文件名> 文件在系统目录中
#include "文件名" 文件默认在用户的当前目录中
GCC编译器中的头文件和库函数:
条件编译 :根据需要只编译程序中的某一部分
常用于对程序的调试中
条件编译的常用形式:
文件包含中的一个问题(重复包含):
文件包含保护--条件编译的另一用法(三行)
心得:
预处理—>文件包含—>头文件—>宏定义—>条件编译
其中文件包含中包含源文件和头文件,头文件又含系统目录中的头文件和自定义在当前目录下的头文件
要将源文件和头文件分离,拿什么样的内容应该放在头文件中呢?
宏定义可以是常见的定义符号常量也可以带参数进行宏定义,特点是原样替换
条件编译常用在程序调试中和文件保护中,在自定义的头文件中条件编译避免文件重复包含
- C语言进阶-第8~10讲:预处理
- C语言进阶-第24~28讲:算法概述
- C语言进阶-第32讲:位运算及其应用
- C语言进阶-第6讲:递归法问题求解(易列写递归方程)
- C语言进阶-第6讲:递归法问题求解(两数的最大公约数)
- C语言进阶-第6讲:递归法问题求解(递归求数组的最大值)
- C语言进阶-第11~13讲:结构体(含数组和函数)
- C语言进阶-第15~16讲:结构体(含指针和函数)
- C语言进阶-第15~16讲:结构体应用(学生成绩统计)
- C语言进阶-第15~16讲:结构体应用(玩转日期和时间)
- C语言进阶-第17讲:链表和数组的比较
- C语言进阶-第18讲:单链表的遍历、创建、插入和删除结点
- C语言进阶-第19讲:链表应用(链表的合并)
- C语言进阶-第19讲:链表应用(拆分链表)
- C语言进阶-第19讲:链表应用(改造链表)
- C语言进阶-第19讲:链表应用(链表版通讯录)
- C语言进阶-第22~23讲:问题求解的一般过程&数据结构及算法概述
- C语言进阶-第29讲:枚举类型及其应用(对称点)
- 第十周项目1 二叉树遍历的递归算法
- Kotlin编写Servlet(吃饱了撑的吧。。)
- centos7下安装nginx
- C#分割字符串。歌词
- 编译安装LNMP环境
- C语言进阶-第8~10讲:预处理
- 【java基础】键盘和文件输入输出的几个常见方法
- 商品展示
- win7基础 cmd 查看当前已经启动的服务列表
- Lua集锦二 全局变量_G
- 图像的运算
- QNR(JAVA后台开发)面试题目
- 背包问题
- WAMP 中phpmyadmin #2002