回答
pascal運算符^.
與C和C++中的運算符->
類似。
它取消引用指針(在你的情況下,p
應該被定義爲var p: ^type
)和在記錄訪問一個變量,在這種情況下,rlink
和llink
。
當插入符號(^)出現一個指針變量之後解除引用指針,也就是說,它返回存儲在由指針所保持的存儲器地址的值。所以在你的情況下,我想p
是指向具有rlink
屬性的記錄的指針,並且q
是指向具有llink
屬性的記錄的指針。這些屬性也指向相同的結構,因爲p
和q
然後分配給它們。我想這個結構代表了一個帶有左右節點的二叉樹數據類型。
+1的一般答案,但我會假設這是一個雙向鏈表,並在添加節點後更新指針。請注意,'p^.rlink^.llink'實際上是'p',它在雙向鏈表中而不是樹中。 –
^
跟着一個指針,而.
訪問記錄的成員。所以這些線路可能會重新排列某種graph中的鏈接。
p和q似乎是指針。他們指向一個記錄變量,它們分別具有(或者可能兩者都有)rlink和llink(猜測右側鏈接和左側鏈接)。
此代碼段可能用於圖的上下文或可能是鏈接的排序列表。
Pascal中的^符號(^)運算符是取消引用操作符,它使人能夠訪問變量內容而不是指針。
直接等效於C語言將是
(p*).rlink=q
(q*).llink=p
但當然這將典型地被表示爲
p->rlink=q
q->llink=p
使用C的 - >運算符,它確實在一個步驟中deferencing和成員訪問。
可能的可能性是p和q是doubly-linked list中的元素,通常稱爲雙向鏈表。這兩個陳述將它們連在一起,其中「左」和右「右」。 C/C++中的等價物將是:
p->rlink = q;
q->llink = p;
- 1. 「KeyError:」(插入IP)'「是什麼意思?
- 2. 插入符號(^)是什麼意思?
- 3. 是什麼意思:是什麼意思?
- 4. 重點是什麼意思?
- 5. 「嵌入」是什麼意思?
- 6. %{}是什麼意思?
- 7. '#'是什麼意思?
- 8. 「?」是什麼意思?
- 9. #{...}是什麼意思?
- 10. || =是什麼意思?
- 11. @是什麼意思
- 12. $$ $$是什麼意思?
- 13. `/ * @`是什麼意思?
- 14. 「=」是什麼意思
- 15. + =是什麼意思?
- 16. {..} [..]是什麼意思?
- 17. 什麼是:!:意思?
- 18. @ []是什麼意思?
- 19. 什麼是「||」意思?
- 20. /([^.]*)\.(.*)/是什麼意思?
- 21. &**是什麼意思?
- 22. @(...)是什麼意思?
- 23. &@是什麼意思?
- 24. 「\\。\」,「\ ?? \」,「\\?\」,「\\」是什麼意思?
- 25. &=是什麼意思?
- 26. {%=%}是什麼意思?
- 27. 是什麼意思?
- 28. %%是什麼意思?
- 29. {}是什麼意思?
- 30. 「*&」是什麼意思?
pascal中的賦值運算符是':=',而不是'='。 '='是一個布爾運算符,用於測試C語言世界中的相等性:'=='。 – Vector