:typedef struct binode huffman; struct binode{ int weight; int data, parent, lchild, rchild; }; typedef struct hnode huffmancode; struct hnode { int cd[maxsize]; int c; }; typedef struct node *lklist; struct node { int adjvex; lklist next; }; typedef struct gnode glink; struct gnode { int vex; struct node *firstlink; };
时间: 2024-04-28 19:27:13 浏览: 118
C_C++中typedef_struct和struct的用法
5星 · 资源好评率100%
这段代码定义了四个结构体类型和一个指向结构体类型的指针。它们的具体含义如下:
1. `struct binode` 表示哈夫曼树的结点,包含了权值 `weight`、数据 `data`、父结点 `parent`、左孩子结点 `lchild` 和右孩子结点 `rchild`。
2. `struct hnode` 表示哈夫曼编码,包含了编码数组 `cd` 和编码长度 `c`。
3. `struct node` 表示链表结点,包含了相邻结点的下标 `adjvex` 和下一结点的指针 `next`。
4. `struct gnode` 表示图的顶点,包含了顶点编号 `vex` 和第一个邻接点的指针 `firstlink`。
`typedef` 关键字用来为结构体类型定义别名。比如,`typedef struct binode huffman` 为 `struct binode` 定义了一个别名 `huffman`,这样我们在程序中可以用 `huffman` 来代替 `struct binode`。同理,`typedef struct hnode huffmancode`、`typedef struct node *lklist` 和 `typedef struct gnode glink` 分别为 `struct hnode`、`struct node *` 和 `struct gnode` 定义了别名 `huffmancode`、`lklist` 和 `glink`。
阅读全文