typedef和define区别
2014-04-16 07:55
183 查看
1) #define预处理指令
![]()
编译预处理时进行简单
替换
![]()
作正确性检查
![]()
关含义
否正确照样带入
只有
编译已被展开
源程序时才会发现
能
错误并报错
例
: #define PI 3.1415926 程序
![]()
:area=PI*r*r 会替换
3.1415926*r*r
![]()
![]()
把#define语句
![]()
数字9 写成字母g 预处理也照样带入
2)typedef
![]()
编译时处理
![]()
![]()
![]()
自己
作用域内给
![]()
已经存
![]()
类型
![]()
别名
![]()
![]()
You cannot use the typedef specifier inside a function definition
3)typedef int * int_ptr; 与 #define int_ptr int * 作用都
用int_ptr代表 int * ,
![]()
二者
同
正
前面所说
#define
预处理 时进行简单
替换
而typedef
![]()
简单替换
而
采用
同定义变量
方法
样来声明
![]()
种类型
也
![]()
说; //refer to (xzgyb(老达摩)) #define int_ptr int * int_ptr a, b; //相当于int * a, b; 只
简单
宏替换 typedef int* int_ptr; int_ptr a, b; //a, b 都
指向int
指针,typedef
int* 引入了
![]()
新
助记符
也说明了
![]()
![]()
下面观点成立 //QunKangLi(维护成本与程序员
创造力
平方成正比) typedef int * pint ; #define PINT int *
![]()
: const pint p ;//p
![]()
更改
![]()
p指向
内容
更改 const PINT p ;//p
更改
![]()
![]()
p指向
内容
![]()
更改
pint
![]()
种指针类型 const pint p
![]()
把指针给锁住了 p
![]()
更改 而const PINT p
const int * p 锁
![]()
指针p所指
对象
3)也许您已经注意
#define
![]()
语句
要
行末加分号
否则 会连分号
块置换
相关文章推荐
- define和typedef区别
- #define PINT int * typedef int * PINT;的区别
- (转)typedef和define的详细区别
- typedef和define的用法和区别
- typedef和define的详细区别
- typedef和define具体的详细区别
- typedef和define作用域的区别
- typedef和define具体的详细区别 2011.07.12
- typedef和define的详细区别
- define与typedef的区别
- typedef和define区别
- typedef和define具体的详细区别_chris
- #define & typedef 区别
- 【C/C++学习】typedef和define的小区别
- 请教define,const,typedef,inline的区别
- define与typedef区别
- typedef和define的一点小区别
- typedef和define的详细区别 -
- typedef和define的区别
- typedef与define的用法和区别