宏定义学习
来源:互联网 发布:嵌入式软件分层设计 编辑:程序博客网 时间:2024/05/16 19:28
宏定义学习
(1)宏名一般用大写
(2)使用宏可提高程序的通用性和易读性,减少不一致性,减少输入错误和便于修改。例如:数组大小常用宏定义
(3)预处理是在编译之前的处理,而编译工作的任务之一就是语法检查,预处理不做语法检查。
(4)宏定义末尾不加分号;
(5)宏定义写在函数的花括号外边,作用域为其后的程序,通常在文件的最开头。
(6)可以用#undef命令终止宏定义的作用域
(7)宏定义不可以嵌套
(8)字符串" "中永远不包含宏
(9)宏定义不分配内存,变量定义分配内存。
(10)宏定义不存在类型问题,它的参数也是无类型的。
(2)使用宏可提高程序的通用性和易读性,减少不一致性,减少输入错误和便于修改。例如:数组大小常用宏定义
(3)预处理是在编译之前的处理,而编译工作的任务之一就是语法检查,预处理不做语法检查。
(4)宏定义末尾不加分号;
(5)宏定义写在函数的花括号外边,作用域为其后的程序,通常在文件的最开头。
(6)可以用#undef命令终止宏定义的作用域
(7)宏定义不可以嵌套
(8)字符串" "中永远不包含宏
(9)宏定义不分配内存,变量定义分配内存。
(10)宏定义不存在类型问题,它的参数也是无类型的。
1.宏定义一定要加括号的原因是主要由于宏定义是完全替换的。如果不加括号可能会导致在下面主函数的运算的过程中替换后不是我们要表达的原意
例如下面的代码:
# include <stdio.h>
#define year 365+2 //如果我们不加括号(365+2)那么在下面的调用过程中就会发生源代码中的问题,会先计算365+2*2 而我们原意要表达的
int main(void) //是(365+2)*2
{
int a;
a=year*2;
printf("%d",a);
return 0;
}
2.宏定义表示一年中有多少秒:
默认情况小 宏定义数据类型是整形的(即是int类型)所以在考虑宏定义的时间应该注意他的类型的范围
如果超出默认的整形类型的时候就需要强制类型转换,比如下面的例子:
我们来用宏定义一年的时间(s)
#define year ()UL
后面的UL 就是强制类型转换。
0 0
- 宏定义学习
- 宏定义使用学习
- 宏定义学习
- 宏定义学习
- 宏定义学习
- 宏定义学习(1)
- 【学习笔记】宏定义基础
- 开关宏定义的学习
- asterisk学习笔记7--宏定义规则
- C语言宏定义的学习
- 宏定义和内联函数的学习
- OpenCL学习笔记 - 关键字 宏定义
- 学习了用宏定义进行DEBUG
- IOS开发学习常用宏定义
- Cocos2dx 学习笔记22 常用宏定义
- EMC单片机宏定义学习手记
- 黑马程序员---学习笔记13:宏定义
- 宏定义-C语言基础学习笔记
- 嵌入式开发
- Adobe CC Family (CC 2015) 大师版
- acm_幸运大迷宫
- java分为 三类 ME,SE,EE
- NSPredicate
- 宏定义学习
- HBase GC的前生今世 - 身世篇
- 133.Intersection of Two Arrays
- 【44】java大数值剖析
- PS高级特训班 百度云资源(价值2180元)
- 1、操作系统基础概念
- 搜狗坐标转换
- 2、linux基础知识与技能
- java web如何获取项目的根路径