| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 809 人关注过本帖
标题:有关链表的头指针
只看楼主 加入收藏
xingbo2293
Rank: 1
等 级:新手上路
帖 子:11
专家分:5
注 册:2010-10-22
结帖率:33.33%
收藏
已结贴  问题点数:10 回复次数:3 
有关链表的头指针
最近我看了几个程序,发现一个问题:一个单链表的表头到底是怎么个结构。

struct stu{
    int num;
    struct *next;
};
以前我的理解就是:head指针就是链表第一个结点,如要输出链表第一个结点的值可以这么操作:printf("%d",head->num);
                 所谓的空表即是:head==NULL


现在我看了几个程序他们有的这么理解的:head->next是第一个结点的地址,所以要输出第一个结点的值就是:printf("%d",(head->next).num);
                              空表指:head->next==NULL


请问哪个是正确的理解。
如果以上理解都错,请给出正确答案.
搜索更多相关主题的帖子: next 
2011-03-21 11:06
like2266
Rank: 2
等 级:论坛游民
帖 子:17
专家分:40
注 册:2011-3-19
收藏
得分:5 
都正确,是这样讲的:链表分有专门头结点的(即你说的后一种)和没有专门头结点的(即你说的前一种)。
2011-03-21 11:34
njkido
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:224
专家分:1184
注 册:2011-3-8
收藏
得分:5 
链表 有头结点/无头结点
加头结点为了插入删除方便  头的num占内存 但是对于编程者无意义 此时物理上第二个节点才是真正有意义的第一个节点
2011-03-21 11:42
xingbo2293
Rank: 1
等 级:新手上路
帖 子:11
专家分:5
注 册:2010-10-22
收藏
得分:0 
多谢,
2011-03-21 16:41
快速回复:有关链表的头指针
数据加载中...
 
   



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

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