当前位置:   article > 正文

嵌入式学习之C语言7-指针与二维数组_转置函数中变量初始化指向的是二维数组的哪个地址

转置函数中变量初始化指向的是二维数组的哪个地址

第六章 指针

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.总结

重点理解

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/951421
推荐阅读
相关标签
  

闽ICP备14008679号