我粘貼了一個代碼,下面是Ada語言。我需要對某些實現進行一些說明。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)是不是意味着它是在數組中返回的下一個元素的地址實際上mean.Does‘B'.Storage_Offset’(4 )在Ada中 - 這意味着4位或4字節的內存。 2)如果我假設Last_Address指向數組'K'的最後一個元素,那麼算術Storage_Offset'(40)如何滿足實際實現?
如果你需要更多的說明,請回到我身邊。
請認爲該功能不存在。事實上,我有一些ada文件,我的工作是將它們轉換爲C文件。由於我是ada的初學者,因此我遇到了很多問題。請在有任何混淆的情況下請諒解。
由於 麥迪
請看看你的問題,並考慮人應該如何理解它。還**接受更多答案**。 – 2010-04-27 10:12:35
請告訴我問題的哪一部分不清楚?這會更好,而不僅僅是標註這個問題不清楚。 – maddy 2010-04-27 10:48:01
無論你從哪裏得到這個,它都是*不*在「阿達語言」中。它顯示了每個從Fortran或C或其他東西中翻譯過來*的字面意思。沒有一個能夠勝任的Ada程序員可以編寫這樣的代碼。我或這裏的其他人可以簡單地將代碼讀回給你,並說出它在做什麼,但你可以通過自己閱讀代碼來獲得。不明白的是這段代碼應該試圖完成什麼;如果我們知道,如果我們能「理解它」,那麼我們可以更好地解釋代碼的含義。 (是的,接受更多的答案。) – 2010-04-27 12:05:21