C语言整形数组a[5][5]每个int型变量占4个字节,若a[0][0]的存储地址为1548(十进制),

那么元素a[2][2]在内存内的存储地址是多少?为社么?... 那么元素a[2][2]在内存内的存储地址是多少?为社么? 展开
 我来答
vaxiaj
2012-05-23 · TA获得超过242个赞
知道答主
回答量:67
采纳率:0%
帮助的人:75.1万
展开全部
如果这个数组在内存中是连续存储
则应该是1548 + 4*2*5 + 4*2 (1548 + 两个int[5]数组的大小 + 2个int的大小)

如果不是 则无法确定用a[0][0]可以算出, 而应该用确定的a的地址
无法算出是因为 1584这个指针 根据你给出的条件我无法确定它是存储在源地址还是一个经过拷贝的指针 所以不能做 &(1548)取得a的地址

用a的地址的算法如下:
假设a的地址为 int** ptr_a;
则&(a[2][2]) == *(ptr_a + 2) + 2;
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式