| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4309 人关注过本帖
标题:链表必须使用二级指针或者一级指针的引用吗?
只看楼主 加入收藏
冰糖葫芦雨
Rank: 1
来 自:福建
等 级:新手上路
帖 子:5
专家分:0
注 册:2016-2-23
结帖率:0
收藏
 问题点数:0 回复次数:3 
链表必须使用二级指针或者一级指针的引用吗?
/* Note:Your choice is C IDE */
#include "stdio.h"
#include "stdlib.h"

#define ERROR    -1
#define OK        1

typedef struct node
{
    int data;
    struct node *next;   
}Node,*LinkList;

/*构造一个空表*/
void Init_LinkList(LinkList *Head_pointer)
{
    *Head_pointer=NULL;    /*指针Head_pointer为二重指针,*Head_pointer=NULL表示结点为空*/   
}

/*
    插入一个新元素(头插)
    (1)分配一个新的结点的空间;
    (2)分配失败退出;
    (3)使用传递的参数为新节点的数据域赋值;
    (4)为新的节点的指针域赋值指向原来的头结点;
    (5)头指针指向新节点
*/
int Insert_First(LinkList *Head_pointer,int x)
{
    Node *p;
    p=(LinkList)malloc(sizeof(Node));
    if (p==NULL)
        return     ERROR;                    /*分配失败*/
    p->data=x;                            /*数据域赋值*/
    p->next=*Head_pointer;                /*新指针指针域指向原来的头结点*/
    *Head_pointer=p;                    /*头结点指针域指向新节点*/
    return OK;                            /*插入成功*/
}

(此处省略部分代码)

问题:LinkList *Head_pointer;在完整的代码中出现多次,为什么不能只用Node *Head_pointer表示?

谢谢来回答的各位啦~纠结了好久了
搜索更多相关主题的帖子: include choice 空间 元素 
2016-10-20 22:12
word123
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:13
帖 子:333
专家分:1622
注 册:2014-4-5
收藏
得分:0 
LinkList *Head_pointer;只是出现在函数参数里面,
LinkList 本来就是指针,相当于是指向指针变量的指针。
你通过传递参数希望在函数内改变该值,调用完之后,主函数中该值也改变。

主函数调用形式
Node *p;
Insert_First(&p);

类似于
main(){
    int a;
    fun(&a);
    //调用完之后a的值被改变了
}
fun(int *p){
    *p = 10;
}
2016-10-20 23:56
冰糖葫芦雨
Rank: 1
来 自:福建
等 级:新手上路
帖 子:5
专家分:0
注 册:2016-2-23
收藏
得分:0 
回复 2楼 word123
谢谢回答,看了回复和书本书,调试了几下代码,现在脑子已经转过弯了

路漫漫其修远兮,吾将上下而求索。
2016-10-22 16:31
冰糖葫芦雨
Rank: 1
来 自:福建
等 级:新手上路
帖 子:5
专家分:0
注 册:2016-2-23
收藏
得分:0 
分享个百度到的CSDN博客链接http://m.blog.
内容是关于在用c/c++写数据结构程序时,链表和二叉树中二级指针或者一级指针的引用。
个人觉得博主写的挺详细的
有同样困惑的小伙伴可以参考下~

路漫漫其修远兮,吾将上下而求索。
2016-10-22 16:39
快速回复:链表必须使用二级指针或者一级指针的引用吗?
数据加载中...
 
   



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

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