| 网站首页 | 业界新闻 | 群组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 编程论坛
共有 699 人关注过本帖
标题:链表初始化时用 LinkList *L 二级指针。队列初始化时为什么不用二级指针。? ...
只看楼主 加入收藏
花脸
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:715
专家分:665
注 册:2017-1-4
结帖率:95%
  已结贴   问题点数:20  回复次数:4   
链表初始化时用 LinkList *L 二级指针。队列初始化时为什么不用二级指针。?
链表初始化时用 (LinkList *L 二级指针。
typedef struct Node
{
    int date;
    Node *next;
}Node,*LinkList;
void InitList(LinkList *L)
{
    *L=(LinkList)malloc(len);
    (*L)->next=NULL;
}

队列初始化时为什么不用二级指针。?
typedef struct Node
{
    int date;
    Node *next;
}Node;
typedef struct
{
    Node *f;
    Node *r;
}LinkQuequ;
int InitQueqe(LinkQuequ *Q)
{
    Q->f=(Node *)malloc(sizeof(Node));
}
2017-10-12 13:30
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
  得分:20 
看看Q的定义是不是一个结构体而不是结构体指针~看看Q是怎么生成的~

就是这个代码不怎么完整容易出现理解问题~其实了解了Q是啥东东就容易理解了~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-10-12 14:12
花脸
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:715
专家分:665
注 册:2017-1-4
  得分:0 
回复 2楼 九转星河
定义的Q是结构体LinkQuequ的指针。
2017-10-12 23:10
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
  得分:0 
回复 3楼 花脸
也就是说Q是malloc出来咯,那malloc出来后Q的地址不用发生变化啊……相当于数组,而Q->first相当于数组元素,所以直接调用Q就可以了~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-10-13 15:55
花脸
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:715
专家分:665
注 册:2017-1-4
  得分:0 
回复 4楼 九转星河
地址不是要保存。
2017-10-13 16:21







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

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