欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

#define与typedef的区别!

程序员文章站 2024-03-23 11:49:16
...

                                   #define与typedef的区别!

#define dPS struct s *
typedef struct s * tPS;

以上两种情况的意图都是要定义 dPS 和 tPS 作为一个指向结构 s 指针。哪种方法更好呢?(如果有的话)为什么?
答案是:typedef 更好。思考下面的例子:

dPS p1,p2;
tPS p3,p4;

第一个扩展为

struct s * p1, p2;

上面的代码定义 p1 为一个指向结构的指,p2 为一个实际的结构,这也许不是你想要的。第二个例子正确地定义了 p3 和 p4 两个指针。