如果有定义 int a[3][3];则&a[2][1]-a的值是多少

问题描述:

如果有定义 int a[3][3];则&a[2][1]-a的值是多少
如果有定义 int a[3][3];则&a[2][1]-a的值是多少 为什么
1个回答 分类:综合 2014-10-28

问题解答:

我来补答
(3*(2 - 0) + (1 - 0))*sizeof(int)
如果sizeof(int)为4,地址差为4*7=28.
但如果是int *类型的指针差,则结果去除sizeof(int)因子,为7.
综上所述:
&a[2][1]- (int *)a
答案是7
(char *)&a[2][1] - (char *)a
答案是28
 
 
展开全文阅读
剩余:2000