非常感谢您上次回答了我的数据结构的指针问题,现在在看书,又有点疑问.

问题描述:

非常感谢您上次回答了我的数据结构的指针问题,现在在看书,又有点疑问.
我明白pa=pa->next;是将指针pa 指向了下一个相邻的结点.
但是按照您上次讲的我觉得它应该写成pa->next=pa->next;
这样写可以么?
我是这样想的pa->next拿出一个指针指向天空,然后后面的pa->next给那个指针付值.
这样理解不对?
1个回答 分类:综合 2014-10-17

问题解答:

我来补答
不可以,仍以上次的箭头和盒子举例,
桌上放了两个盒子,你手中的箭头pa指着第1个盒子,第1个盒子中的箭头(next)指着第2个盒子.
现在,你要如何让自己手中的箭头指向第2个盒子呢?是移动你手中的箭头,还是移动盒子中的箭头?
再说,就pa->next = pa->next 来说,相当于a = a, 把自己的内容再赋予自己
再问: 就是说pa->next指的是移动盒子中的箭头。 那么上次的s->next=p->next; 和p->next=s;也是仅仅移动盒子中的箭头,手中的箭头s和p的位置没有改变,原来指在哪里还在哪里? 只有pa=pa->next;的情况是移动手中的箭头?
再答: 是的,你的说法完全正确。 操作符 '->' 是“取指针所指结构的成员” pa->next = 。。。 是对pa指针所指节点中next成员的赋值 pa = 。。。是对指针变量pa赋值
 
 
展开全文阅读
剩余:2000