我在下面粘贴了一个 Ada 语言的代码。我需要对一些实现进行一些说明。
C : character;
Char : character;
type Myarr_Type is array (character range 'A'..'K') of character;
Myarr : Myarr_Type := ('A','B','C','D','E','F','G','H','I','J','K');
Next_Address := Myarr'address --'
Last_Address := Next_Address + Storage_Offset'(40); --'
return P2 + Storage_Offset'(4); --'
Last_Address := Next_Address + Storage_Offset'(4); --'
现在我的疑问是1)P2 + Storage_Offset'(4)实际上是什么意思。这是否意味着它返回数组中下一个元素的地址,即Ada中的'B'.Storage_Offset'(4)-这样做表示 4 位或 4 字节的内存。2) 如果我假设 Last_Address 指向数组的最后一个元素“K”,那么算术 Storage_Offset'(40) 如何满足实际实现?
如果您需要更多说明,请回复我。
请假设该功能不存在。事实上,我有一些 ada 文件,我的工作是将它们转换为 C 文件。因为我是 ada 的初学者,所以我遇到了很多问题。如果有任何混淆,请见谅
谢谢麦迪