码迷,mamicode.com
首页 > 其他好文 > 详细

类型别名(define与typedef)

时间:2015-12-17 23:57:16      阅读:331      评论:0      收藏:0      [点我收藏+]

标签:

#define NEW OLD //使用预处理器的方法,为OLD定义一个新名称NEW,使用define定义的类型别名,会在预处理的过程中对NEW进行“单纯”的替换,例如:

#define N 3+2
int i = N  * 2;
//预处理后,将会变成
int i = 3 + 2 * 2; //i 的结果将会是7

typedef typeName aliasName; //使用关键字typedef来创建别名,typedef不会创建新的类型,而只是为已知类型创建一个新名称。

两者比较:

  typedef能够处理更复杂的类型别名,简单例子:

typedef char * byte_pointer; // pointer to char type
#define BYTE_POINTER char * //pointer to char type

byte_pointer pa,pb; //pa和pb都将被声明为char *类型,编译器内部将解释为:char * pa和char * pb

BYTE_POINTER pa,pb; //编译器内部展开后解释为:char * pa,pb;  pa将被声明为char *类型,pb将被声明为char类型

  

 

类型别名(define与typedef)

标签:

原文地址:http://www.cnblogs.com/Eric-scratch-paper/p/5055614.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!