C++ 二维数组的问题
虽然二维数组可以用二级指针表述,但是它这里的解释我不懂,
哪个大佬翻译一下
回答:
指向指针的指针,其实很简单 T ** x
意思只是,x的类型是T ,是一个指针,所以T **就是指向指针的指针。
按照上面的例子,更严格的说,T ** x是指向一个数组的指针,只是这个数组的每个元素是指向另一个数组的指针。
回答:
(1)、数组名就是地址,你可以把地址可以和指针看做同一级别的内容
(2)、二维数组名也就可以对应 指向二维数组的指针
(3)、int (*p)[4];
//这里就是指向一个列为4的 一维数组 的 二维数组指针,至于行有多少,看具体数组把!
(4)、p也就是二维数组的 首地址 (其实作为二维数组的首地址没有什么意义,所以也就可以认为是 首元素的地址)
(5)、p[0][0] == *(*(p + 0) + 0); // *(p + 0)
是二维数组的首元素地址 --> 第0行一维数组地址,由于p是二级指针
(6)、对二级指针p 加* ,p也就降为 一级指针了。
(7)、此时*(p + 0)
指向的是第0行一维数组(一整行)的首地址! *(p + 0) + 0
也就是数组的首元素的地址
(8)、对首元素地址加* ,就是取值。最后得到 相应的值
(9)、最后,如果可以帮到您,我很高兴。 我也喜欢编程,也是最近才了解到 博客,希望我的答案可以被采纳
如果 有机会,可以到 我的 博客点一下赞么! 我只是想 得到一个专栏
写一些 自己学习的 笔记! 方便复习!不为其他!!
以上是 C++ 二维数组的问题 的全部内容, 来源链接: utcz.com/p/191233.html