#define和typedef的区别
2017-05-18 22:37
309 查看
4000
#define与typedef都可以用来给现有类型起别名,但是#define只是简单宏替换,而typedef不是的,#define在预编译时被处理,typedef是在编译时被处理。
区别一:
#define dpcharchar *;
typedef char *tpchar;
dpchar p1,p2; //只是简单的替换,等价于char *p1,p2;只有p1才是指针变量
tpchar p1,p2 //不是简单的替换,等价于char *p1,*p2;都是指针变量
区别二:
#define 方式可实现类型结合,但是typedef不行,如下:
#define dint int;
typedef int tint;
unsigned dintp1,p2; //正确
unsigned tintp1,p2; //不可以
区别三:
typedef 可以组建新类型,但是#define不行,如下:
typedef char[200]charBuf;
charBuf buf; //等价于char buf[200],但是#define不可以
#define与typedef都可以用来给现有类型起别名,但是#define只是简单宏替换,而typedef不是的,#define在预编译时被处理,typedef是在编译时被处理。
区别一:
#define dpcharchar *;
typedef char *tpchar;
dpchar p1,p2; //只是简单的替换,等价于char *p1,p2;只有p1才是指针变量
tpchar p1,p2 //不是简单的替换,等价于char *p1,*p2;都是指针变量
区别二:
#define 方式可实现类型结合,但是typedef不行,如下:
#define dint int;
typedef int tint;
unsigned dintp1,p2; //正确
unsigned tintp1,p2; //不可以
区别三:
typedef 可以组建新类型,但是#define不行,如下:
typedef char[200]charBuf;
charBuf buf; //等价于char buf[200],但是#define不可以
相关文章推荐
- typedef和#define的定义与区别
- typedef和#define的用法与区别
- typedef和#define的用法与区别
- typedef 和#define定义别名的区别
- typedef 和#define定义别名的区别
- #define和typedef的区别
- typedef和#define的区别
- typedef和#define的用法与区别
- typedef与#define 的区别
- typedef和#define的用法与区别
- #define和typedef的区别
- #typedef与#define的区别
- typedef和#define的主要区别
- typedef与#define 的区别
- typedef和#define的用法与区别
- typedef与#define区别
- typedef和#define的用法与区别
- Typedef和#define的区别
- typedef 和#define定义别名的区别
- typedef和#define的用法与区别