赞
踩
第六章 指针
1.二维数组的地址认知
将二维数组拆分为父数组与子数组,父数组的元素包含子数组的元素(二维数组回归一维数组)
int arry[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}} arry是二维数组的名字,名字即地址
arry数组包含3行,即3个行元素,arry[0],arry[1],arry[2], 每1个行元素又是一维数组,包含
arry[0][0] , arry[0][1] , arry[0][2] , arry[0][3].
父数组(行)的地址即 arry ,子数组(列)的地址即arry[0] , arry[1] , arry[2]
--------------------------------------------------------------------------------------------------------------------------------
3 , 4 , 5 arry[0] = &a[0][0] , arry[1] = &arry[1][0] , //表示二维数组某一列的第一个元素的地址
6 , 7 , 8 arry[0]是第0行第0列的元素 “ 3 ” 的地址
9 , 0 , 0 &a[0][0] 将 a[0] 理解为数组名 a[0] [0] 该数组的第0个元素
重点理解:arry是父数组的地址,arry[0]是子数组的地址
*arry = *arry+0 -> arry[0] 表示为子数组的地址
2.使用指针输出打印二维数组
a)小括号法
printf("地址: %p, 值: %d ", *(a+i)+j , *(*(a+i)+j) ); 注意:取地址时 -> 有框无星,无框有星
b)中括号法
printf("地址: %p, 值: %d ", a[i]+j , *(a[i]+j) );
3.总结
重点理解:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。