假设我有这个定义:
typedef struct tnode *Tnodep;
typedef struct tnode
{
int contents; /* contents of the node */
Tnodep left, right; /* left and right children */
}Tnode;
最后一个Tnode是什么意思?这个定义和这个定义有什么区别?
typedef struct tnode *Tnodep;
typedef struct tnode
{
int contents; /* contents of the node */
Tnodep left, right; /* left and right children */
};
答案 0 :(得分:1)
第一个定义定义了一个结构tnode,以及两个类型名称Tnodep和Tnode。第二个未定义类型名称Tnode。
使用第一个定义,然后可以定义以下两个之一:
Tnode x;
tnode y;
使用第二个定义,您不能。你只能写
struct tnode x;