int mcai[3][2] = {};
mcai = &mcai[0] = & &mcai[0][0]
**mcai = *mcai[0] = mcai[0][0]
∵mcai = mcai[0] = &mcai[0][0]
∴mcai=&mcai[0][0]//错_
理解不了的就是为什么mcai和mcai[0]会是同一个地址,一个地址能存两个指针吗?
(就像一个地址存数组那样?
还有就是为什么mcai指向mcai[0]后,明明同样的地址,mcai[0]会指向mcai[0][0]而不是指回mcai;
感觉是同一个问题,实在理解不了求解救
你最上面写的是mcai = &mcai[0] = & &mcai[0][0]
意思就是 mcai=&&mcai[0][0]
最下面写的是 mcai=&mcai[0][0] 你是不是推跑偏了 推着推着怎么把原来的结论推翻了
mcai = mcai[0]?? 不一样的吧
你**mcai = mcai[0] = mcai[0][0]
∵mcai = mcai[0] = &mcai[0][0] 这里感觉好别扭 按照你的推理 **mcai 去掉俩 为什么等于mcai[0]去掉一个*
数组的话 你先把一维数组理解好 指针加偏移
二维数组就是 指针的指针
同一个人?我刚给你回答了另一个问题,你可以自己想一想,还不理解的话画个指向图就一清二楚了
(:з)∠)不好意思,我昨天卡了以为问题没发出去,发了三遍还是刷新没显示就放弃了இ௰இ导致同一个问题提了三次இ௰இ对不起
首先地址就是指针,指针就是地址;你看下你的定义mcai = &mcai[0] = & &mcai[0][0];mcai就是数组的开始地址也是第一个元素的地址啊,不矛盾啊