showei 发表于 2015-7-13 17:56:21

typedef这是什么用法

代码是这样的
typedef struct BiThrNode
{
        char data;
        struct BiThrNode*lchild,*rchild;
        PointerTag ltag;
        PointerTag rtag;
}BiThrNode,*BiThr;
我十分不理解这里的*BiThr是什么意思,是将struct BiThrNode用typedef定义成两种别名BiThrNode和*BiThr吗,求高手给讲解一下,typedef可以这样定义两种别名吗

nin98 发表于 2015-7-13 18:22:59

这里BiThrNode是一种数据类型,你理解为“和int 他们差不多就行”
int 可以有int *,那
BiThrNode 就可以有 BiThrNode *
叫结构指针

showei 发表于 2015-7-15 09:04:12

nin98 发表于 2015-7-13 18:22
这里BiThrNode是一种数据类型,你理解为“和int 他们差不多就行”
int 可以有int *,那
BiThrNode 就可 ...

就是说可以使用typedef为一种数据结构声明两种别名是吗

nin98 发表于 2015-7-15 11:50:20

showei 发表于 2015-7-15 09:04
就是说可以使用typedef为一种数据结构声明两种别名是吗

可以啊,因为结构也是数据类型,叫 自定义数据类型

liveloo 发表于 2015-7-15 16:47:00

typedef struct BiThrNode
{
      char data;
      struct BiThrNode*lchild,*rchild;
      PointerTag ltag;
      PointerTag rtag;
}BiThrNode,*BiThr;
相当于 typedef int nVal,typedef int *pnPoint;
也就是说将struct BiThrNode{....}看作一个数据类型,typedef BiThrNode BiThrNode,typedef BiThrNode *BiThr

小白C 发表于 2015-7-19 13:32:52

*BITHhr是一种自定义的数据指针
页: [1]
查看完整版本: typedef这是什么用法