#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.
Комментариев нет:
Отправить комментарий