FreePascal初学者问题

时间:2012-03-23 19:43:54

标签: pascal freepascal

我需要将一些代码从FreePascal移植到C.我是一名专业的C开发人员但对Pascal一无所知。大多数代码都可以轻松移植,但是一行代表让我很头疼。究竟应该做什么:

New(newBack); 
curBackPtr^ := newBack; 
curBackPtr := @(newBack^.next);

令我感到困惑的是,newBack已分配给curBackPtr,并且newBack.next被分配到curBackPtrcurBackPtr没有{{1}}访问。那么第一个任务是不是多余的,可以安全地删除?或者我在这里遗漏了什么?

2 个答案:

答案 0 :(得分:8)

enter image description here

答案 1 :(得分:0)

New(newBack); 

为newBack类型分配内存并将指针存储在newBack中。

  

curBackPtr ^:= newBack;

将newBack指针指向curBackPtr指向的内容。

  

curBackPtr:= @(newBack ^ .next);

指定curBackPtr指向newBack ^ .next,即指向下一个指针本身,而不是指向它指向的指针。