Задан следующий массив arr некоторого типа type (type занимает N байт в памяти) type arr[14][5][2][7]; Требуется определить разницу в байтах между следующими адресами (если это возможно сделать однозначно):
&arr[9][4][0][1] - &arr[5][1] Hint: если ответ зависит от размера типа type, можно в качестве ответа указать формулу с неизвестной вида: N*<число> (язык Си)

31 Авг 2019 в 06:42
263 +1
1
Ответы
1

Разница в байтах между адресами &arr[9][4][0][1] и &arr[5][1] равна:
(9527 + 427 + 1) sizeof(type) - (5527 + 1) sizeof(type)
= (630 + 56 + 1) sizeof(type) - (350 + 1) sizeof(type)
= 687 sizeof(type) - 351 sizeof(type)
= 336 sizeof(type)
= N336 (для языка Си)

20 Апр 2024 в 05:28
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир