请解释如何使用内存模型解决此类问题:
- 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
请解释如何使用内存模型解决此类问题:
- 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 个字节,指针占用far4 个字节。现在,回到你的问题。由于您没有函数指针,我们总是查看 Data 列:
far一个由 5 个指针组成的数组float,即 5 * 4 = 20 字节;near一个包含 10 个指针的二维数组char,即 10 * 2 = 20 字节;near指针的数组,但指针的维度不会以任何方式影响答案。正确答案:2、3、4。