标题:结构体问题
只看楼主
炎天
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:桃花岛
等 级:贵宾
威 望:29
帖 子:1218
专家分:4986
注 册:2016-9-15
得分:0 
以下是引用花脸在2017-9-26 22:05:40的发言:

*L是结构体的指针,对不对、?如果是**L用(**L).data


typedef struct Node
{
    stu date;
    struct Node *next;
}node,*LinkList;   (不对, 和你自己在这边的定typedef别名有关系)
 


void InitList(LinkList **L)   
{
    **L=(LinkList)malloc(len);
    (**L)->data.a=100 或者 (***L).data.a=100;
    (**L)->next=NULL;                              //(*L)
}

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

typedef struct Node
{
    stu date;
    struct Node *next;
}node,*LinkList;

LinkList ABC 相当于  struct Node *ABC

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

typedef struct Node
{
    stu date;
    struct Node *next;
}node,**LinkList;

LinkList ABC 相当于  struct Node **ABC

早知做人那么辛苦!  当初不应该下凡
2017-09-26 22:22
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:788
专家分:907
注 册:2017-1-4
得分:0 
回复 11楼 炎天
(LinkList **L)这定义的是结构体的什么变量?
2017-09-26 23:45
炎天
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:桃花岛
等 级:贵宾
威 望:29
帖 子:1218
专家分:4986
注 册:2016-9-15
得分:0 
不是,
void InitList(LinkList **L)     (LinkLisk **L) 这里是参数的类型  类型是 LinkLisk *

早知做人那么辛苦!  当初不应该下凡
2017-09-27 00:06
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
可以将问题简化来理解:
#include<stdio.h>

typedef struct Node
{
    int date;
}node, *LinkList;

main()
{
    node a = {123};
    LinkList L;
    LinkList *L1;
    LinkList **L2;
    L = &a;
    L1 = &L;
    L2 = &L1;
    printf("%d %d %d %d\n", a.date, L->date, (*L1)->date, (**L2)->date);
}
2017-09-27 05:21
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:788
专家分:907
注 册:2017-1-4
得分:0 
回复 13楼 炎天
恩 明白了谢谢。
2017-09-27 18:06
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:788
专家分:907
注 册:2017-1-4
得分:0 
回复 14楼 吹水佬
恩 好的谢了、
2017-09-27 18:08



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




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

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