Ниже я вставил код на языке Ада. Мне нужно пояснить некоторые реализации.
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). Означает ли это, что он возвращает адрес следующего элемента в массиве, который является «B». Storage_Offset (4) в Ada -- делает это означает 4 бита или 4 байта памяти. 2) Если я предполагаю, что Last_Address указывает на последний элемент массива, который равен «K», как арифметическое Storage_Offset (40) удовлетворяет фактической реализации?
Пожалуйста, свяжитесь со мной, если вам нужны дополнительные разъяснения.
Предположим, что функция не существует. На самом деле, у меня есть несколько файлов ada, и моя работа состоит в том, чтобы преобразовать их в файлы C. Поскольку я новичок в ada, я столкнулся с множеством проблем с этим. Пожалуйста, извините в случае какой-либо путаницы.
Спасибо Мэдди