以下に 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の初心者なので、それで多くの問題に直面しました.混乱が生じた場合はご容赦ください
ありがとうマディ