2 seriousrt SeriousRT 于 2016.03.25 21:49 提问

数据结构单链表关于头指针的问题

图片说明typedef struct LNode{

ElemType data;
struct LNode *next;
}LNode,*LinkList;
L=(LinkList)malloc(sizeof(LNode));

问题:我们知道L->data是头结点的数据域,可是一般不会放有效数据,从这点我就产生了疑问L也是 LinkLIst类型的,所以
我认为头指针L也应当存在data域和next域。存在的话怎么提取头指针L的data域和next域的数据?

2个回答

bealing
bealing   Rxr 2016.03.25 22:19
已采纳

单链表的添删改查,可以采用头指针,也可以采用头结点(第一个节点不存数据)
头结点的优点在于插入和删除不用处理头指针为空(不可能为空)的特殊情况
如果用头指针的话,提取头指针L的data域和next域的操作和普通节点一样,L->data,L->next

SeriousRT
SeriousRT   2016.03.25 22:39

图片说明

bealing
bealing 头指针指向的节点才有数据域和指针域,如果单单说头指针的话,它只是一个占机器字长的变量,存的是地址,哪来的指针域、数据域
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!