大忽悠喵 发表于 2019-4-27 21:09:54

关于 typedef的一个问题

在数据结构中看到静态链表的定义如下

typedef char ElemType;
#define MAXSIZE 1000 /* 存储空间初始分配量 */

typedef struct
{
    ElemType data;
    int cur;/* 游标(Cursor) ,为0时表示无指向 */
} Component,StaticLinkList;

这里用typedef给结构体struct取别名,但是后面有两个名字Component和StaticLinkList,所以这两个到底哪个是别名?还有就是StaticLinkList感觉像个数组一样的是啥意思?

Croper 发表于 2019-4-27 21:19:15

一、都是,
二、表示你把一个变量声明为StaticLinkList类型后,相当于将其声明为Component的数组

大忽悠喵 发表于 2019-4-28 09:36:12

Croper 发表于 2019-4-27 21:19
一、都是,
二、表示你把一个变量声明为StaticLinkList类型后,相当于将其声明为Component的数组

谢谢回答,还有一点不明白,比如说我声明一个StaticLinkList类型变量:StaticLinkListL,那是不是这个L就是个结构数组,L长度为MAXSIZE,数组中每个元素都是这个定义的结构体?

还有就是为啥要取两个别名?我把Component去掉行不,就像这样
typedef char ElemType;
#define MAXSIZE 1000 /* 存储空间初始分配量 */

typedef struct
{
    ElemType data;
    int cur;/* 游标(Cursor) ,为0时表示无指向 */
} StaticLinkList;

Croper 发表于 2019-4-28 09:46:56

一、对,
二、可以去掉,

大忽悠喵 发表于 2019-4-28 10:02:43

Croper 发表于 2019-4-28 09:46
一、对,
二、可以去掉,

好的谢谢
页: [1]
查看完整版本: 关于 typedef的一个问题