| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3383 人关注过本帖
标题:头指针和头结点的问题
只看楼主 加入收藏
Garfeild
Rank: 1
等 级:新手上路
帖 子:12
专家分:3
注 册:2011-1-24
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:5 
头指针和头结点的问题
现在对于这两个概念很模糊,而且书上也没有例子。。。。
求高手用编程实例帮我一下
搜索更多相关主题的帖子: 编程 而且 
2011-02-21 12:37
cacker
该用户已被删除
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2011-02-21 12:48
Garfeild
Rank: 1
等 级:新手上路
帖 子:12
专家分:3
注 册:2011-1-24
收藏
得分:0 
回复 2楼 cacker
但是我不清楚头指针是怎么指向头结点的,还有头结点是数据域为什么为空?头结点有数据的话,为什么有危险?
2011-02-21 13:55
犬虫门心
Rank: 8Rank: 8
来 自:西安
等 级:蝙蝠侠
帖 子:209
专家分:753
注 册:2011-1-25
收藏
得分:10 
回复 3楼 Garfeild
声明:下面的回答,仅针对初学链表的朋友,且仅限于纯C环境。若有不周之处,请指正。
你问的问题其实是处理链表时,两种不同的方案,而且这两种方案通常不会同时使用。
1、带头结点的链表
2、不带头结点的链表
带头结点的链表可以这样看:
A -> a1 -> a2 -> ... -> an
其中,A是整个链表中的第一个节点,而且永远是第一个节点。“永远”的意思是:不能再A的前面增加新节点(因为,链表支持动态增加节点)。所以,实质上,上面的链表中,真正有意义(存放要处理的数据)的节点,应该从第二个节点开始,即:a1, a2, ..., an

2、不带头结点的链表可以这样看:
指针-----> a1 -> a2 -> ... -> an
其中,“->”体现在指针节点的“链域”,而“指针----->”中的指针,类型与a1等是不一样的,它是“能指向a1,a2等的节点的指针变量”,而不是结构体实例。该指针的内容就是&a1(链表中第一个节点的首地址)

(各位高手,可能你们会说a1等也是指针,是通过malloc()得到的。我这的意思是,在程序过程中,a1们好像是指针,但本质上是malloc()申请得到的内存空间,就是结构体的实例。这里我不用“变量”这个说法)

[ 本帖最后由 犬虫门心 于 2011-2-21 14:17 编辑 ]

当一名对得起学生学费的老师,一直是我的目标!我会更努力的!
2011-02-21 14:15
刘定邦
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:687
专家分:1570
注 册:2010-9-21
收藏
得分:0 
这个俺了范愁
2011-02-21 15:07
刘定邦
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:687
专家分:1570
注 册:2010-9-21
收藏
得分:0 
也范愁
2011-02-21 15:08
快速回复:头指针和头结点的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027688 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved