宏定义define
来源:互联网 发布:windows to go 什么用 编辑:程序博客网 时间:2024/05/21 09:47
#define宏定义是个演技非常高超的替身演员,我们用它要慎之又慎。
const修饰的数据是有类型的,而define宏定义的数据没有类型。
define宏只是简单的替换.
#define SQR(x) x*x
假设x是10,SQR(10)就被替换为10*10,但是当x为10+1,SQR(x)被替换为 10+1*10+1。这样就出问题了。
所以应该这么定义,多加几个括号:#define SQR(x) ((x)*(x)) //多加几个括号,别吝啬括号。
通常用typedef定义某种类型如 int,long的别名,而不是用#define,用define会带来一些问题。。。
在用define进行宏定义时,后边不要用”//“注释文字。否则会出问题的,编译器不会将这些文字当成注释。可以另起一行再注释。
2、用宏定义一个函数时,需要在同一行上定义,如果一行不够写,需要加'\',最后一行上的变量是该表达式的返回值。
语法: #define func(x,y) ({ \
char a;\
....
....
a;\
})
- 宏定义define用法
- 宏定义#define
- Embedded - Define 宏定义
- 使用宏定义DEFINE
- #define宏定义中的#,##,@#,\
- C宏定义#define
- ios #define 宏定义
- 宏定义define
- 宏定义#define
- 宏定义#define整理
- C++宏定义#define
- 常用宏定义 #define
- define宏定义中的#,##
- 058.Define 宏定义
- 宏定义#define
- 关于#define宏定义
- 058.Define 宏定义
- 宏定义-#define用法
- 我创业失败的血泪史
- 第十一次上机实验
- 2路插入排序算法
- HDU 1849 Rabbit and Grass
- 安卓-----多线程下载
- 宏定义define
- DirectX 3D_实践之DirectX3D 网格的外接体的创建和使用
- C#掷股子(Random的应用)
- linux高级编程01 内存管理
- C++真的还有未来吗?
- win7中怎样使用问题步骤记录器?
- Stencil Buffer
- java 正则表达式替换
- Net堆与栈的区别(1)基础知识 值类型与引用类型