请解释如何使用内存模型解决此类问题:
- COMPACT 内存模型已安装。
pd
根据描述,变量将占用多少内存float *pd[5];
?- 已安装 MEDIUM 内存型号。
a
根据描述,变量将占用多少内存char *a[5][2];
?存在已安装的小内存模型
int a[10] = {1, 2, 3, 4, 5}, *p = a+2;
以下哪个表达式的计算结果为 2?
(int)p - (int)a;
p - a
*p - *a
;(a[1] + *p) / 2
这是一个这样的表:
这是解释:
指针
near
占用 2 个字节,指针占用far
4 个字节。现在,回到你的问题。由于您没有函数指针,我们总是查看 Data 列:
far
一个由 5 个指针组成的数组float
,即 5 * 4 = 20 字节;near
一个包含 10 个指针的二维数组char
,即 10 * 2 = 20 字节;near
指针的数组,但指针的维度不会以任何方式影响答案。正确答案:2、3、4。