设有数组int a[10][15], 数组元素a[5][3]用指针表示的形式是?谢谢,帮个忙

如题所述

a+5是第5行(是从第0行算起)的首地址 就是行的地址。意思就是说给a加1偏移量是一行,这里是偏移量是15。

*(a+5)是a[5][0]的地址 是一个列地址。即*(a+5)=&a[5][0] 偏移量是每次是1.
*(a+5)+3是a[5][3]的地址

*(*(a+5)+3)就是a[5][3]的指针表示形式。
上面提到了便宜的概念,因为二维数组在内存中以一维数组存储方式存储,所以可以用总偏移量来计算每个数组元素地址。上面两位就是计算偏移的。
但貌似不是乘6,应该乘5.因为偏移完整的六行之后已经跑到第7行去了,从0行算就是跑到第6行去了。
所以另一种表示就是*(a+15*5+3)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-11-05
*(a+6*15+3)
第2个回答  2012-11-05
*(*(a+10)+15)
第3个回答  2012-11-05
*a+93
相似回答