链表中的p和q是什么的缩写啊

走大路 2015-03-05 05:09:10
数据结构链表实现中的p和q是什么的缩写啊,p q head,反正就这三个指针在倒腾。好纠结呀,特想知道单词的全拼,我是不是有病????
...全文
684 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
cysccnu 2015-03-06
  • 打赏
  • 举报
回复
这个问题问得好。。。 head,p,q 都是用来保存4字节的地址。 head是链表首地址,如果head作为函数参数传入,比如删除结点函数,这个地址会被push到栈中,子函数就从这个栈地址去取到链表首地址。 p,q 一般用来存放结点地址,编译器通常会把他们在内存中放到一起。无论是创建链表,删除链表结点,还是插入链表结点,CPU都需要记住当前和之前处理的结点地址,p就用来保存当前正在处理的结点地址,q用来保存之前处理过的结点地址。比如创建链表的时候,新建一个结点,得到新结点的地址,这个地址就保存在p中,这个地址需要放到之前处理过的结点的next域中,而q中就保存了之前刚处理过的结点的地址,之后q中的地址就过时了,于是用p中的地址来更新,p,q保存的地址就这样随着循环跳转不断变化,直到最后一个结点。 或许你会问为什么一定要用p,q来保存之前和当前结点的地址,用其他地址不行吗?当然可以,但前提是没有循环。计算机的强大就在于利用循环来实现自动化。要实现循环就必须保证每次循环都跳转到相同的偏移地址,而p和q就保证了每次循环都有相同的偏移地址。
yan597478677 2015-03-05
  • 打赏
  • 举报
回复
哈哈,4楼正解
一根烂笔头 2015-03-05
  • 打赏
  • 举报
回复
p= pointer,26字母序p的下一个字母是q,以此继续,以后你或许还会看到r,s用作指针 同理 索引标 i=index,下一个字母j,然后继续k,这三个常见 还有变量n = number,下一个m,以及初学程序最常见的a,b,c,d,e 数学中最常用的v,w,x,y,z 懂了不?这就叫传统
michael2988 2015-03-05
  • 打赏
  • 举报
回复
想了下,估计指针 pointer 的首字母是 p,所以平时的指针变量缩写为 p q 等; 就像因为整型 int,首字母 i,平时的整型变量都 i j k 什么的。
赵4老师 2015-03-05
  • 打赏
  • 举报
回复 1
p: pointer q: next character of p,another pointer
michael2988 2015-03-05
  • 打赏
  • 举报
回复
不是就符合规则的变量标识吗

69,337

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧