高手请您解答一下我的问题吧,谢谢!

首先定义一个三维数组:intA[2][3][4]={0};1.数组名A是一个三级指针,指向的是一个3*4的二维int数据结构。我的问题是:为什么是指向3*4的二维数据结构... 首先定义一个三维数组:int A[2][3][4]={0};

1.数组名A是一个三级指针,指向的是一个3*4的二维int数据结构。
我的问题是:为什么是指向3*4的二维数据结构?这里的“3*4”是怎么得到的?

2.A[0]是一个2级常指针,指向一个大小为4的一维数组结构。
问题是:中括号 [ ]中的“0”怎么理解呢?
为什么又是指向大小为4的一维数组?
为什么说A,A[0],A[0][0]的值同为 &A[0][0][0]?
展开
 我来答
本逸春vL
2011-07-09 · TA获得超过1567个赞
知道小有建树答主
回答量:812
采纳率:0%
帮助的人:649万
展开全部
首先,数组变量是指向数组首个元素所在的内存地址。无论数组是几维的,在内存中存放都是连续的。
int A[2][3][4]={0};
在内存中的存放形式:
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
A、&A 是指向首个元素的内存地址。
A[0]、&A[0] 是指向首个元素的 0 偏移位置,还是首个元素的内存地址。
A[0][0]、&A[0][0] 是指向 A[0]、&A[0] 的 0 偏移位置,依然是首个元素的内存地址。
依此类推。
来自:求助得到的回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式