首页 > 代码库 > typedef与define区别
typedef与define区别
#define 是预处理指令,简单的进行文本替换。
typedef 是编译时处理,作用是给已经存在的类型取一个别名。
由于以上根本原因,导致一下几种区别:
1.#define不会做正确性检查,typedef会。
2.#define可以使用其他说明符对宏名进行扩展,typedef不可以。
3.可以使用typedef可以使用sizeof,#define不可以。
4.typedef是一个语句,所以必须以;结尾,#define没有
5.对指针的操作不同
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都是int型指针 PINT s3, s4; //相当于int * s3,s4;只有一个是指针。
相关资料:http://developer.51cto.com/art/201104/256060.htm
typedef与define区别
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。