| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 515 人关注过本帖
标题:有关动态链表创建,只有部分代码不理解,求高手帮忙
只看楼主 加入收藏
sanjianfei
Rank: 2
等 级:论坛游民
帖 子:48
专家分:53
注 册:2012-2-21
结帖率:87.5%
收藏
已结贴  问题点数:20 回复次数:4 
有关动态链表创建,只有部分代码不理解,求高手帮忙
不明白的是链表创建部分的头指针与第一个节点
LINK *create_list()
{
    LINK *h,*r,*s;
    h=(LINK*)malloc(sizeof(LINK));
    r=h;
    r->next=h;      //这个地方r与h相等,含义是什么?
    char ch=getchar();
    ..............
顺便解释一下LINK *create_list() 这种函数调用方式

程序代码:
#include <stdio.h>
#include<malloc.h>
typedef struct Node
{

 char data;

 struct Node *next;
}LINK;
LINK *create_list()
{
    LINK *h,*r,*s;
    h=(LINK*)malloc(sizeof(LINK));
    r=h;
    r->next=h;
    char ch=getchar();
    while(ch!='\n')
    {
        s=(LINK*)malloc(sizeof(LINK));
        s->data=ch;
        r->next=s;
        r=s;
        ch=getchar();
    }
    r->next=NULL;
    return h;
}
void print_list(LINK *h)
{
    LINK *p;
    p=h->next;
    if(p==NULL)
        printf("链表为空");
    else
        while(p!=NULL)
        {
            printf("%c",p->data);
            p=p->next;
        }
}
void main()
{
    LINK *head;
    head=create_list();
    printf("The list is under line:\n");
    print_list(head);
    getchar();
}


[ 本帖最后由 sanjianfei 于 2012-3-23 18:24 编辑 ]
搜索更多相关主题的帖子: color 函数 next 动态 
2012-03-23 18:23
星辰雁
Rank: 4
等 级:业余侠客
威 望:1
帖 子:93
专家分:275
注 册:2011-9-10
收藏
得分:5 
表示把申请的内存空间赋给链表。为链表的下一个结点申请内存空间。

不要认为CPU运算速度快就 把所有的问题都推给它去做,程序员应该将代码优化再优化,我们自己能做的决不要让CPU做 ,因为CPU是为用户服务的,不是为我们程序员服务的!
2012-03-23 23:42
C_596322153
Rank: 6Rank: 6
来 自:徽州
等 级:侠之大者
帖 子:182
专家分:466
注 册:2012-1-10
收藏
得分:5 
r是指针啊  r=h;r 指向开辟的新内存空间   
 LINK *create_list() 函数返回值是 链表首地址。调用它就是地址赋值给 head 指针
2012-03-24 18:17
tianyi1993
Rank: 1
等 级:新手上路
帖 子:23
专家分:9
注 册:2012-1-24
收藏
得分:5 
申请的内存空间赋给指向链表的指针,为链表的下一个结点申请内存空间。话说你要好好看书啊
2012-03-25 18:02
double聪
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:46
专家分:118
注 册:2011-11-19
收藏
得分:5 
r->next=h;  这行可以删掉,没什么必要。
LINK *create_list() 该函数的返回值的类型为LINK的指针
2012-03-25 19:17
快速回复:有关动态链表创建,只有部分代码不理解,求高手帮忙
数据加载中...
 
   



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

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