关于typdef和Struct的问题
这样定义一个结构体typedef struct Book
{
char title;
char author;
struct Book *next;
}BOOK, *book;
在这里 BOOK = struct Book 但是*book 具体的含义是什么呢? 本帖最后由 llccbb1 于 2017-7-8 12:37 编辑
这种定义是在学习数据结构时遇到的,定义一个单链表
//单链表的存储结构描述
typedef struct Node
{
ElemType data;
struct Node *next;
}Node, *LinkList;
//建立单链表--头插法
LinkList CreatFromHead(LinkList L)
{
LinkList L;
Node *s;
char c;
int flag=1;
/*设置一个标志,初值为1,当输入$时,flag为0,建表结束*/
while(flag)
{
c = getchar();
if(c!='
不懂应该怎么分析*LinkList)
{
s = (Node *)malloc(sizeof(Node));
//为读入的字符分配存储空间
s->data = c;
s->next = L->next;
L->next = s;
}
else flag = 0;
}
}
不懂应该怎么分析*LinkList 第19、20行应该是if(c!='
但是不知道该怎么修改一改就变回去了,请大家忽略。)
但是不知道该怎么修改一改就变回去了,请大家忽略。 BOOK = struct Book
*book 就等于 struct Book * LinkList 是 struct Node*
LinkList* 就是 struct Node** 不好理解你就拆开看
typedef struct Node
{
ElemType data;
struct Node *next;
}Node, *LinkList;
拆分
struct Node
{
ElemType data;
struct Node *next;
};
typedef struct Node Node;
typedef struct Node *LinkList;
这样就很容易理解了
页:
[1]