用c写单链表的一个问题
typedef struct lnode{
int data;
struct lnode *next;
}lnode,*linklist;
linklist l之后可以用l->next->next这种套娃的方式指向跳一个的结点吗,l->next->next->data可以得到跳个结点的数据吗 数据结构,麻了{:10_266:} Gacy 发表于 2021-11-5 11:11
数据结构,麻了
{:10_269:} 我看视频里是做了个新的结点做中间跳板lnode*s =l->next.我觉得这个逻辑上不是一样的吗 本帖最后由 jhq999 于 2021-11-5 12:23 编辑
怎么是套娃?不是属于关系,你只不过是有下一个的地址,而不是包含下一个这个实例,“链”很形象,a知道b的地址,b知道c的地址,想通过a直接找到c是不可能的,的知道A在哪,找到A,通过A手里的B的地址找到B,通过B手里的C的地址找到C,以此类推
是的
typedef struct lnode
{
int data ;
struct lnode * next ;
} lnode , * linklist ;
linklist l ;
l -> data ; // 头节点 data 字段
l -> next -> data ; // 第 2 个节点 data 字段
l -> next -> next -> data; // 第 3 个节点 data 字段 jackz007 发表于 2021-11-5 12:23
是的
大佬,能不能帮我看看我的问题!谢谢 emm楼上的用代码给你解释出了你的问题 不过看不懂的话应该还是看不懂吧
我这里用文字说明一下上面的解答
大概是说
定义一个结构体linklist的指针变量 L
然后“L->data”表达式来指向 L 指针变量中data数据段 并获取里面的数据
如果L所存放的linklist结构体的地址中的"next"字段存放着另一个结构体"linklist"的地址
就可以用"L->next->data"来获取 L指针变量 所指向的结构体中的"next"字段所指向的另一个"linklist"结构体 并获取其中的数据
下面的也以此类推
页:
[1]