社区
C语言
帖子详情
p->next->next?
begintransaction
2011-10-02 11:35:44
p->next是得到p结构的指针
p->data是得到p结构的数据元素
但p->next->next怎么是后继结点了?这是怎么理解的
...全文
1009
38
打赏
收藏
p->next->next?
p->next是得到p结构的指针 p->data是得到p结构的数据元素 但p->next->next怎么是后继结点了?这是怎么理解的
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
38 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
airhony
2011-10-04
打赏
举报
回复
微聊TM的即时通讯软件(手机平台上的免费通讯工具和对讲机),一个集交流、资讯、娱乐、搜索、电子商务、办公协同和企业客户服务等为一体的综合信息平台,是一款基于XMPP协议的即时聊天工具,它是一个跨运营商和跨手机平台的一款即时通讯软件,如可以跨中国联通,中国移动,中国电信进行即时通讯和聊天,也可以在Iphone,Android,Symbian,Windows Phone等系统跨平台进行即时通讯。微聊TM是一款免费的即时聊天工具,可以免费发送图片,语音,视频,文字等的强大的基于通讯录进行社交的通讯软件。
gzqfeng123
2011-10-04
打赏
举报
回复
回答的都好,路过学习
gzqfeng123
2011-10-04
打赏
举报
回复
回答的都好,路过学习
gzqfeng123
2011-10-04
打赏
举报
回复
回答的都好,路过学习
善良超锅锅
2011-10-04
打赏
举报
回复
路过 学习 回答的都不错 楼主加油
天外来客-007
2011-10-04
打赏
举报
回复
struct ListData
{
ElementType data;
ListData* next;
};
p->next->next就是后续节点了!
rollng
2011-10-04
打赏
举报
回复
图很重要,比较直观易懂[Quote=引用 20 楼 suwei2002 的回复:]
单向链表的逻辑结构,LZ自己看下就应该明白了吧。
[/Quote]
Sidyhe
2011-10-04
打赏
举报
回复
这一个,下一个,下一个的下一个
begintransaction
2011-10-03
打赏
举报
回复
[Quote=引用 14 楼 mesh4444 的回复:]
看来LZ完全晕菜了……
首先,LZ必须明白一点,就是next是指针,不管在任何情况下,next都是指针,指向下一个节点的指针,无一例外,next从来就没有表示过某个节点本身(也就是结构体类型)的时候……
但是为什么有人说p->next表示p的下一个节点呢?这只是一种简略的说法,而且仅仅是面向应用的,这句话完整的说,应该是p->next表示指向下一个节点首地址的指针,而事实上,如果我们得到了某个……
[/Quote]
每个结点里的next的值就是该结点的后继结点的指针地址?
子谋
2011-10-03
打赏
举报
回复
看来LZ完全晕菜了……
首先,LZ必须明白一点,就是next是指针,不管在任何情况下,next都是指针,指向下一个节点的指针,无一例外,next从来就没有表示过某个节点本身(也就是结构体类型)的时候……
但是为什么有人说p->next表示p的下一个节点呢?这只是一种简略的说法,而且仅仅是面向应用的,这句话完整的说,应该是p->next表示指向下一个节点首地址的指针,而事实上,如果我们得到了某个节点的首地址,也就相当于得到了这个节点本身,因为我们就可以对这个节点进行操作了(用指针进行操作),这个和用(*p).next是一个道理,只不过一个用指针,一个用变量本身而已,方法不同,目的一致……
所以p->next->next最最准确的说法应该是p的next指针指向的节点的next指针……
而这个地址是怎么获得的呢?
简单来说,p并不是p节点,而是指向p节点首地址的指针,通过这个指针,我们可以得到p节点的信息,而p->next就是通过p指针得到的当前节点(p指向的节点)的next指针的值,这个值仍然是一个指针,这个指针代表什么?表示通过当前节点所找到的下一个节点的首地址(我们令q=p->next),如此,我们就得到了q这个指针指向的节点,那么p->next->next完全可以写成q->next,那么q->next是什么意思呢?依次类推,这样就算是p->next->next->next->next都是很容易理解的东西……
modicum_lf
2011-10-03
打赏
举报
回复
呵呵 !我晕了!
AnYidan
2011-10-03
打赏
举报
回复
画图可以整理自己的思路
yht8708
2011-10-03
打赏
举报
回复
MARK
[Quote=引用 3 楼 zhpsdbx 的回复:]
p->next 指的是p的下一个节点的地址,
p->next->next 指的是p下一个节点的下一个节点地址。
[/Quote]
weshen
2011-10-03
打赏
举报
回复
lz多思考啊,这个不难的把
hackbuteer1
2011-10-03
打赏
举报
回复
p->next->next 指的是p下一个节点的下一个节点地址。
阿尼小码
2011-10-03
打赏
举报
回复
这个简单啊,楼主要多思考啊,楼上正解
Alexander
2011-10-03
打赏
举报
回复
单向链表的逻辑结构,LZ自己看下就应该明白了吧。
Vincent_Song
2011-10-03
打赏
举报
回复
呵呵,p->next是后继结点的指针,p->next->next是后继结点的后继结点的指针。建议补习基础。
cao_julians
2011-10-03
打赏
举报
回复
自己画个图,问题层面的链表图,再标示出语言层面的指针\指向等,自然就看出来了
wizard_tiger
2011-10-03
打赏
举报
回复
p->next 指的是p的下一个节点的地址,相当于*p.next;
p->next->next 指的是p下一个节点的下一个节点地址,相当于*(*p.next).next。
加载更多回复(14)
链表中p->next=head->next;语句解析
在看到一些书上或者网上写的不管是单链表还是双向循环链表等,都会有p->next=q->next;或者p-next=head->next; 这里q是尾指针,head是头指针,p是指向新建结点的指针 该语句作用 这条语句的作用其实就是给新建结点找到它该有的位置 该语句在单链表下的头插法是必须存在的,而在双向循环下可有可无1.单链表的头插法下p-next=head->next;LinkLis
链表P->NEXT=Q->NEXT,Q->NEXT=P,Q=P;的一些解释
执行p->next=q->next之后。变成了p->next和q->next指向同一个b,a->next是p,p->next是b,q->next是b。然后,q->next=p,就是将q的下一个节点变为p,就相当于 在q节点后面加上p节点。意思是让p节点指向q节点的下一个数据,现在p,q的下一个节点相同,都为b。a->next是p,p->next是q,q->next是b。假设刚开始p指向t,q指向了b。在链表中:a->p->q->b。
p=p->next
p->next只不过是获取p这个节点的next域只有p=p->next,这种方式才是让p指向了下一个节点q->next=p;p->next=null;q=p;这个里面的q指向的永远是是要在当前节点添加下一个节点的哪个节点假设 q现在指的是1节点,执行q->next=p,就是在1节点后面添加了个节点2 p->next=null,就是把2节点的next域设置为null; q=p 就是把2节点地址给q
单链表删除节点(p->next)与p的区别
在插入链表的时候,while(p)而在删除链表的时候while(p->next)?这是为什么呢?因为删除算法中的循环条件(p->next && j
转载:详解P=Q->NEXT和P->NEXT=Q的区别,链表操作,附代码
详解P=Q->NEXT和P->NEXT=Q的区别,附代码 单链表简单操作 (1)P=Q 将q的value和next都赋值给p意味着p和q的value值相同同时都指向q的下一个对象 (2)P.NEXT = Q 将q赋值给p.next。也就是说p的next中保存的会是q。那么p的下一个节点为q同时p与t的连接断开了 (3)P=Q.NEXT 理解为q.next(t)赋值给p,也就是将t赋值给p。即t和p的value和next值相同。p和t同时指向t的下一个元素 ###下面给出代码说明,为便于理解和证明为No
C语言
69,371
社区成员
243,081
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章