标题:单链表创建问题
只看楼主
aiyifan
Rank: 1
等 级:新手上路
帖 子:8
专家分:1
注 册:2015-2-24
结帖率:100%
已结贴  问题点数:10 回复次数:2 
单链表创建问题
//链表节点
typedef struct Node*{
    char elem;
    struct Node* next;
};
//创建单链表
Node* CreateList(Node* head){
    if(NULL == head){
        head = (Node*)malloc(sizeof(Node));
        //head->elem = getchar();ps出现在这里为什么不要给elem成员赋值
        head->next = NULL;
    }
    Node* current = head,*temp;
    char ch;
    while((ch = getchar())!= '#'){
        temp = (Node*)malloc(sizeof(Node));
        temp->elem = ch;
        temp->next = NULL;
        current->next = temp;
        current = temp;
    }
    return head;
}
为什么在head == NULL时,动态分配head后不要给head->elem成员赋值。
搜索更多相关主题的帖子: current 
2015-02-24 22:04
诸葛欧阳
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:流年
等 级:贵宾
威 望:82
帖 子:2790
专家分:14619
注 册:2014-10-16
得分:10 
如果头结点就是空的那就创建无效,还有什么必要赋值

一片落叶掉进了回忆的流年。
2015-02-25 10:35
aiyifan
Rank: 1
等 级:新手上路
帖 子:8
专家分:1
注 册:2015-2-24
得分:0 
回复 2楼 诸葛欧阳
这里是给head分配内存,在创建节点啊。如果不给head->elem赋值。那头结点的数据成员elem不是没有值。
2015-02-25 19:11



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-442176-1-1.html




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

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