typedef与define的区别

typedef 与 #define的区别:

typedef:可以为数据类型指派另外一个名字

define:宏定义(简单的字符串替换

通常讲,typedef要比#define要好,特别是在有指针的场合。请看例子:

typedef char *pStr1;

#define pStr2 char *;

pStr1 s1, s2;

pStr2 s3, s4;
在上述的变量定义中,s1、s2、s3都被定义为char *,而s4则定义成了char,不是我们

所预期的指针变量,根本原因就在于#define只是简单的字符串替换而typedef则是为一

个类型起新名字。

posted @ 2013-11-20 15:06  Yilia  阅读(178)  评论(0编辑  收藏  举报