C语言大家帮着看下啊~~~~~~~~

来源:百度知道 编辑:UC知道 时间:2024/06/21 11:04:14
用C实现线性表的一段话
typedef struct LNode
{
char data;
struct LNode *next;
}LNode,*LinkList;
这个*LinkList是结构体LNode类型的指针是吗 那LinkList应该是结构体吧 那个这个程序后面还有LinkList p这个语句啊 什么意思捏。。。

LNode,*LinkList分别是一个结构体类型,LNode是普通的类型,*LinkList是指针类型。你可以把它当作int啊什么的来对待。
要了解这个你需要先搞清楚typedef 的用法。
LinkList p这句是定义了一个LinkList类型(结构体指针类型)的变量p。

这只是结构体的申明,后面的LinkList p才是具体的实例

注意前面的typedef。
*LinkList可以用于定义一个指向LNode结构体的指针。
所以"LinkList p;"后,p就是指向LNode结构体的指针

typedef struct LNode
{
char data;
struct LNode *next;
}LNode,*LinkList;

使用typede定义struct LNode类型数据的别名,即LNode,*LinkList可以看做是一个数据类型关键字,可用来声明struct LNode类型的变量和指针。如:
LNode s;
声明的是结构体变量s,s结构组成与struct LNode一致。
LinkList p;
声明的是结构体类型指针,p指向struct LNode 类型结构体。