Страницы

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

пятница, 14 февраля 2020 г.

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

#c #память


объясните пожалуйста, как решать такие задачи с моделями памяти:


  
  Установлена модель памяти 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
  
  

    


Ответы

Ответ 1



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

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

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