- 二重指针
- 二重指针本质上也是指针变量,其占用空间大小也为4个字节,只是指向的对象必须是一重指针,这种特性是由编译器决定的,以避免出现错误使用而不自知的情况,并减少开发者辨识的复杂度
- 二重指针经常用于传参中,改变一重指针的指向地址
- 二维数组
-
二维数组从内存上来看,与同等大小的一维数组没有什么区别
二维数组由n个一维元素构成,而一维元素又由j个二维元素构成
例如a[2][5] 救赎由两个元素构成,这两个元素每个都包括5个元素 -
二维数组的指针表示方法
了解了上面二维数组构成,就可以对照一维数组的方式使用指针访问二维数组,先确定第一维,(p+i),然后写入第一维的值,(p+i),然后访问第二维,((p+i))+j,再确认第二维的值*((*(p+i))+j) -
二维数组的应用
想应用二维数组,首先要确定下面几个概念
以二维数组a[2][5]举例
a,a[0] , &a[0][0] 这三者指向的地址等同,a代表数组首地址,a[0]代表数组第一个元素的地址,&a[0][0]代表数组第一个元素中首元素的地址,三者的访问的方式不同,a需要通过一个相同类型的数组指针访问,a等同于&a[0]
指针指向二维数组的第一维 :a[0]等同于&a[0][0]
指针指向二维数组的第二维 :&a[0][0]通过一个一维数组就可以访问
通过数组指针访问二维指针,可以很好的匹配,int (*a)[5]
-
c语言学习笔记-二重指针与二维数组
最新推荐文章于 2023-01-05 17:05:34 发布