黑马程序员-预处理指令
来源:互联网 发布:mysql查询不重复数据 编辑:程序博客网 时间:2024/05/21 16:55
黑马程序员
预处理指令
1、宏定义 2、条件编译 3、文件包含
1》所有预处理指令都是以#开头
2》预处理指令在代码翻译成0和1之前执行
3》预处理指令位置随便写
4》作用域:从编写指令的那一行开始,一直到文件结尾
宏定义
1》不带参的宏定义
#define 宏名 字符串 // 用一个指定的标识符(即名字)来代表一个字符串
#define 宏名(一般用大写或以K开头) 4
#define COUNT 4 // 从这一行开始把文件中所有的COUNT替换为4
#undef COUNT // 从这一行开始COUNT就失效
2》带参的宏定义
#define sum(v1, v2) ((v1)+(v2))
文件包含(#include)
1》定义:把指定的文件插入到该命令行位置取代该命令行,从而把指定的文件和当前的源程序文件连接成一个源文件。
2》系统自带的文件用#include <>,自定义的用#include " "
3》一个#include的命令只能指定一个被包含文件
4》文件包含允许嵌套,即在一个被包含的文件中可以包含另一个文件
5》被包含的扩展名可以不是.h文件
条件编译
第一种形式的格式为:
#ifdef 标识符
程序段1
#else
程序段2
#endif
它的功能是,如果标识符已被 #define命令定义过则对程序段1进行编译;否则对程序段2进行编译。如果没有程序段2(它为空),本格式中的#else可以没有,即可以写为:
#ifdef 标识符
程序段
#endif
第二种形式的格式为:
#ifndef 标识符
程序段1
#else
程序段2
#endif
与第一种形式的区别是将“ifdef”改为“ifndef”。它的功能是,如果标识符未被#define命令定义过则对程序段1进行编译,否则对程序段2进行编译。这与第一种形式的功能正相反。
第三种形式的格式为:
#if 常量表达式
程序段1
#else
程序段2
#endif
它的功能是,如常量表达式的值为真(非0),则对程序段1 进行编译,否则对程序段2进行编译。因此可以使程序在不同条件下,完成不同的功能。
- 黑马程序员-预处理指令
- 黑马程序员....................预处理指令
- 黑马程序员 C语言------预处理指令学习
- 黑马程序员_C语言之预处理指令
- 黑马程序员_C语言预处理指令
- 黑马程序员_C语言_预处理指令
- 黑马程序员-------预处理指令1-宏定义
- 15、黑马程序员-C语言预处理指令
- [黑马程序员][C语言]预处理指令
- 黑马程序员-----------C语言基础-----------预处理指令
- 黑马程序员—C语言_预处理指令
- 黑马程序员-IOS-C语言预处理指令及杂项小计
- 黑马程序员 C语言 - 09 预处理指令、typedef、extern、static
- 黑马程序员——预处理指令(宏定义)
- 黑马程序员—C语言—预处理指令
- 黑马程序员——枚举、预处理指令和递归
- 黑马程序员-C语言的预处理指令总结
- 黑马程序员——5、C语言(预处理指令)
- 吐槽
- 图的基本术语和定义
- Java线程池原理和使用
- Android 内存使用hprof文件打开方法
- Webdriver - Selenium Grid Configuration
- 黑马程序员-预处理指令
- android文件读写,ndk文件读写
- 递归遍历某个路径下的文件
- 使用 sendfile() 提升网络文件发送性能
- 保存android程序崩溃日志到SD卡
- JPA 开发所需的Jar包 (基于Hibernate)
- 高效的JavaScript代码编写技巧
- 免费的云端软件测试平台-快意测试云平台介绍
- TCP协议三次握手过程分析