Страницы

Поиск по вопросам

четверг, 16 мая 2019 г.

Задачи с моделями памяти

объясните пожалуйста, как решать такие задачи с моделями памяти:
Установлена модель памяти COMPACT. Какой объем памяти будет занимать переменная pd согласно описанию float *pd[5];? Установлена модель памяти MEDIUM. Какой объем памяти будет занимать переменная a согласно описанию char *a[5][2];? Установлена модель памяти SMALL Имеется описание int a[10] = {1, 2, 3, 4, 5}, *p = a+2; Какие из следующих выражений имеют значение 2? (int)p - (int)a; p - a *p - *a; (a[1] + *p) / 2


Ответ

Вот тут приводят вот такую таблицу:

И дано такое пояснение:
в колонке Code - указатели на функции; в колонке Data - указатели на переменные;
Указатели near занимают 2 байта, указатели far - 4 байта.

Теперь, возвращаясь к вашим вопросам. Поскольку у вас нету указателей на функции, то всегда смотрим в колонку Data:
Массив из 5-ти far указателей на float, т.е. 5 * 4 = 20 байт; Двумерный массив из 10-ти near указателей на char, т.е. 10 * 2 = 20 байт; Массив из 10 интов и один near указатель, но размерность указателя на ответ никак не влияет. Правильные ответы: 2, 3, 4.

Комментариев нет:

Отправить комментарий