回 帖 发 新 帖 刷新版面

主题:数中的孩子表示法类型定义有一处不明白

typedef struct node
{datatype data;
 struct node *child[m]
}node,*tree;

typedef 是定义 别名 node 和tree
我不明白,怎么定义两个别名了??
我平常见到的只是定义一个别名,这个的意思和意思何在?

回复列表 (共8个回复)

沙发

能定义一个,当然能定义两个了撒~!
但在类型上不同,
*tree是定义为node型的指针~```

板凳

*tree是定义为node型的指针
当要定义一个这样类型的变量时
就直接可以写成tree p
不用写成node *p
这样就直观很多了

3 楼

晕,没解释到点子上
我问的主要是“定义两个意义何在”?

4 楼

声明变量时,tree p等价于node* p;
node表示一个结点, tree(即node*)表示指向一连串结点的指针,称为一颗树也是可以理解的。

5 楼

定义几个完全个人喜欢,你有你的编程风格,他也有他的编程风格。
意义就是哪个好用,哪个看着顺眼就行。

6 楼

node表示一个结点, tree(即node*)表示指向一连串结点的指针,称为一颗树也是可以理解的。

还是不明白,起两个别名的意义何在?

7 楼

这里不是定义两个别名
而正确的理解应该是:定义两个变量
为了使用时候的方便吧
比如说int i ,j k;
爱怎么定义怎么定义
想用几个就几个
一个不用也可
两个也可
就看编程时候的需要与习惯

8 楼

[quote]这里不是定义两个别名
而正确的理解应该是:定义两个变量
为了使用时候的方便吧
比如说int i ,j k;
爱怎么定义怎么定义
想用几个就几个
一个不用也可
两个也可
就看编程时候的需要与习惯[/quote]
胡说!前面有个tpyedef 看见了没,
typedef int INT;
以后,INT i,j; 等价于 int i,j;
do you understand!

我来回复

您尚未登录,请登录后再回复。点此登录或注册