C语言 - #define宏的定义与使用方法
2016-01-18 21:49
633 查看
一.宏的概念与定义方法
1.被定义为”宏”的标示符称为”宏名”.在编译预处理时,对程序中所有出现的”宏名”,都用宏定义中德字符串去替换,这称为”宏替换”或者”宏展开”.
2.宏定义是由源程序中德宏定义命令完成的.宏替换是由预处理程序自动完成的;在C语言中,”宏”分为有参数和无参数两中.
二.#define的使用
1.”#”表示是一项预处理指令,
2.以”#”开头的均为预处理指令.
3.先给出使用场景 : 频繁使用的简单的 字符串/表达式/格式串,复杂的还是选择使用函数为好;
格式:
示例1 : #define
示例2 : #undef
宏的定义作用范围从定义开始直到文件结束,或者用#undef终止
示例3 : #define 表达式
1.被定义为”宏”的标示符称为”宏名”.在编译预处理时,对程序中所有出现的”宏名”,都用宏定义中德字符串去替换,这称为”宏替换”或者”宏展开”.
2.宏定义是由源程序中德宏定义命令完成的.宏替换是由预处理程序自动完成的;在C语言中,”宏”分为有参数和无参数两中.
二.#define的使用
1.”#”表示是一项预处理指令,
2.以”#”开头的均为预处理指令.
3.先给出使用场景 : 频繁使用的简单的 字符串/表达式/格式串,复杂的还是选择使用函数为好;
格式:
#define 标示符 字符串/表达式/格式串 #define 宏名(形参表) 字符串/表达式/格式串 #undef 终止宏定义的作用域 #undef 标示符/宏名
示例1 : #define
#include "stdio.h" #define H 6 //定义宏 int main(int argc, const char * argv[]) { int num = H; printf(“%d”,num); return 0; }
示例2 : #undef
宏的定义作用范围从定义开始直到文件结束,或者用#undef终止
#include "stdio.h" #define H 6//定义宏 int main(int argc, const char * argv[]) { int num = H; printf("%d\n",num); #undef H int num2 = H;//报错,因为找不到定义的H,并且赋值也是不合法的 printf("%d\n",num2); return 0; }
示例3 : #define 表达式
#include "stdio.h" //宏定义表达式时将元素与结果加上(),是因为调用宏时是先复制宏内表达式,而不是复制表达式结果.避免调用后运算错误 #define Pow(num_A,num_B) ((num_A)*(num_B)) int main(int argc, const char * argv[]) { int num = Pow(10, 20); printf("%d\n",num); #undef Pow return 0; }
相关文章推荐
- 如何组织构建多文件 C 语言程序(二)
- 如何写好 C main 函数
- Lua和C语言的交互详解
- 关于C语言中参数的传值问题
- 简要对比C语言中三个用于退出进程的函数
- 深入C++中API的问题详解
- 基于C语言string函数的详解
- C语言中fchdir()函数和rewinddir()函数的使用详解
- C语言内存对齐实例详解
- C语言编程中统计输入的行数以及单词个数的方法
- C语言自动生成enum值和名字映射代码
- 使用C语言判断英文字符大小写的方法
- c语言实现的带通配符匹配算法
- C语言实现顺序表基本操作汇总
- C语言中计算正弦的相关函数总结
- 使用C语言详解霍夫曼树数据结构
- 探讨C语言的那些小秘密之断言
- C语言实现BMP转换JPG的方法
- 深入探讨C语言中局部变量与全局变量在内存中的存放位置
- C语言查找数组里数字重复次数的方法