c语言链表: 链表里p->next是怎么指向下一个结点的呢,它是怎么得到下一个结点的地址。。。求详细
7个回答
展开全部
struct node n1,n2;//定义两个节点
n1.next=&n2;//n1和n2连接起来
n2.next=NULL;//n2的下个节点为空
struct node n3;//增加一个节点
n2.next=&n3;//n2和n3连接起来
n3.next=NULL;//n3的下个节点为空
这样你明白了吗
p->next其实就是(*p).next
------------------------------------
用指针表达
struct node *n1=( struct node *)malloc(sizeof( struct node));//新增一个节点
struct node *n2=( struct node *)malloc(sizeof( struct node));//再新增一个节点
n1->next=n2;//连接两个节点
n2->next=NULL;//n2的下个节点为空
n1.next=&n2;//n1和n2连接起来
n2.next=NULL;//n2的下个节点为空
struct node n3;//增加一个节点
n2.next=&n3;//n2和n3连接起来
n3.next=NULL;//n3的下个节点为空
这样你明白了吗
p->next其实就是(*p).next
------------------------------------
用指针表达
struct node *n1=( struct node *)malloc(sizeof( struct node));//新增一个节点
struct node *n2=( struct node *)malloc(sizeof( struct node));//再新增一个节点
n1->next=n2;//连接两个节点
n2->next=NULL;//n2的下个节点为空
展开全部
next就是下个结点的指针,他存的就是下一个结点的地址,只要读出next值就行了,获得某个节点的指针只要读取上一个结点的next就行,他就是该节点的指针。。。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
其实这是递归调用,它在结构体里面定义了一个指针,但这个指针又指向由这个结构体定义的下一个变量。通过指针就可以找到地址啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为在增加链表,或者插入的时候,next的指向被更改为下一个数据的地址。所以next储存的就是下一个节点的地址了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是组建链表时候得到的,你是逆着来想这问题了吧 ~~
以下是例子
struct s
{ int num;
double score;
struct s *next;
}a,b,c;
struct s *head;
a.num=10000;a.score=99;
b.num=10010;b.score=0;
c.num=10086;c.score=59;
head=&a; a.next=&b;b.next=&c;c.next=NULL;
以下是例子
struct s
{ int num;
double score;
struct s *next;
}a,b,c;
struct s *head;
a.num=10000;a.score=99;
b.num=10010;b.score=0;
c.num=10086;c.score=59;
head=&a; a.next=&b;b.next=&c;c.next=NULL;
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询