int a[3][4] = {1,2,3,4,5,6,7,8,9,10,11,12};
a 是数组首行(0 行)首地址,和首元素的地址虽然一样但是是有区别的。
a+1 是指向第二行的首地址
*(a +0) 是 第 0 行首元素的地址 //*(a+i)
**(a+0) 是是首元素
*(a+0)+1 是首行的第二个元素地址
**((a+0)+1) 首行第二个元素值
*(a+x)+y ----->>&a[x][y]
**((a+x)+j) --->>a[x][j]
x = sizeof(a)/sizeof(a[0]) 求出行数
y = sizeof(a[0])/sizeof(a[0][0]) 求出列数
二维数组名:第0行首首地址
a+i: 第 i 行首地址
想要把首地址转化为首元素地址 加 * :*(a+i)
想要得到某个元素的地址 ,加偏移量 *(a+1) +0 *(a+1) +1 *(a+i) +j
想要得到某个元素的值 加 ** **(a+1) +0 **(a+1) +1 **(a+i) +j
``
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210217164821119.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzQzNDUzMTk5,size_16,color_FFFFFF,t_70)
二维数组
最新推荐文章于 2024-06-12 19:01:34 发布
本文详细解析了C++中二维数组的概念和使用,包括数组首地址、元素地址及偏移量的计算。通过示例展示了如何通过指针访问数组元素,以及如何通过sizeof运算符获取数组的行数和列数。内容涵盖数组首行地址、行地址、元素地址及其转换等核心知识点。
摘要由CSDN通过智能技术生成