typedef和define区别
来源:互联网 发布:数据库存储过程怎么用 编辑:程序博客网 时间:2024/05/25 16:39
typedef和define都是给对象取一个别名,以增强程序的可读性,但二者却有许多不同的地方:
(1)用法不同
typedef用来定义一种数据类型的别名;
如:typedef int Status;
define用来定义常量,或者用来代替的表达式;
如:define MAX(a,b) ((a>b)?(a):(b))
(2) 执行时间不同
typedef是编译过程的一部分,有类型检查功能;define是宏定义,是预编译过程,只是进行简单的字符替换,没有类型检查功能。
(3) 作用域不同
typedef有作用域限制,而define不受约束,只要在define声明后的引用均可。
(4)对指针的引用不同
如:
typedef int * pint;
#define PINT int *;
Const pint p; // p不可更改,p指向的内容可以更改,相当于 int * const p;
Const PINT p; // p可以更改,p指向的内容不能更改,相当于 const int *p;或 int const *p;
pint s1,s2; //s1,s2都是指针
PINT s1,s2; // s1是指针,s2是整型变量
0 0
- #define和typedef区别
- define和typedef区别
- #define和typedef区别
- typedef和define区别
- typedef和define区别
- typedef和#define区别
- typedef和#define区别
- typedef和#define区别
- typedef和define区别
- define和typedef区别
- define和typedef 区别
- define和typedef区别
- define和typedef区别
- typedef和define的区别
- typedef 和 define的区别
- define和typedef的区别
- #define和typedef的区别
- Typedef和define的区别
- VIP不能正常启动,报错CRS-1006
- mysql批量插入语句
- 为过程或函数指定了过多的参数
- 接电话
- android中如何快速查找不用的资源
- typedef和define区别
- 顺序表的添加、删除、查找功能的链式实现
- GG做init data load时,报错OGG-01192,OGG-01668
- android处理图片的一些问题总结
- ios中的关键字总结
- Inno Setup入门(二十一)——Inno Setup类参考(7)
- STATA常用命令总结
- Chrome插件开发入门
- 现象:GG做init data load时报错OGG-00869 OGG-00199