在数据结构链表中这样定义的结构体指针变量 L ,我的理解是:L 指向一个结点, *L 表示就是一个结点,

typedef struct LNode{
int data;
struct LNode *next;
}LNode,*Linklist;
Linklist L;
在操作中为什么会有L->next 呢?为什么不是*L->next ?

你不是别的搞错了 你是没理解 ->这个东西 —>东西是通过指向结构的指针或成员选择运算符。。 所以必须是 指针->NEXT 而不是你所说节点->NEXT
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-04-27
L->next 跟(*L).next完全相同。L是指针没错,*L是这个结构体,(*L).next就是这个结构体的next了,实际上就是这个结构体下个结构体的指针。
第2个回答  2012-04-27
Linklist L 是一个指针,指针操作就是->
这是规定啊追问

next 是结点的next啊,L又不是结点

追答

这个跟next没有关系
看typedef struct LNode
在末尾处定义了两个, 一个是普通的类型, 一个是指针类型
你的Linklist 就是 LNode*

相似回答