插入点(^。)是什么意思?

时间:2009-11-29 07:38:15

标签: pascal

下面的Pascal代码是什么意思?

p^.rlink=q
q^.llink=p

5 个答案:

答案 0 :(得分:10)

pascal运算符^.类似于C和C ++中的运算符->

它取消引用指针(在您的情况下,p应定义为var p: ^type)并访问记录中的变量,在本例中为rlinkllink

答案 1 :(得分:4)

当插入符号(^)出现在指针变量之后它会取消引用指针,也就是说,它返回存储在指针所保存的存储器地址中的值。因此,在您的情况下,我认为p是指向具有rlink属性的记录的指针,q是指向具有llink属性的记录的指针。这些属性也是指向同一结构的指针,因为pq会分配给它们。我想这个结构代表了一个左右节点的二叉树数据类型。

答案 2 :(得分:3)

可能的可能性是p和q是doubly-linked list中的元素,通常称为双向链表。这两个语句将它们连接在一起,p在“left”上,q在“right”上。 C / C ++中的等价物是:

p->rlink = q;
q->llink = p;

答案 3 :(得分:0)

^跟随指针,.访问记录的成员。因此,这些行可能会重新排列某种graph中的链接。

答案 4 :(得分:0)

p和q似乎是指针。它们指向一个记录变量,它们分别(或可能是两个)rlink和llink(猜测右链接和左链接)。

此代码段可能在图表的上下文中使用,也可能是各种链接列表。

Pascal中的插入符号(^)是取消引用操作符,它使人们能够访问变量内容而不是指针。

C语言中的直接等价词是

(p*).rlink=q
(q*).llink=p

但当然这通常表示为

p->rlink=q
q->llink=p

用C的 - >运营商,可以一步完成引用和成员访问。