语言二维数组与指针.pptx
《语言二维数组与指针.pptx》由会员分享,可在线阅读,更多相关《语言二维数组与指针.pptx(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第一节 二维数组的定义定义形式:数据类型数组名常量表达式1常量表达式2数组元素的存放顺序内存是一维的按行序优先如:int a32;int a32a01a10a11a20a21a00a00 a01a10 a11a20 a21第2页/共30页第1页/共30页例 int a34;二维数组的理解:特殊的一维数组a00 a01 a02 a03a10 a11 a12 a13a20 a21 a22 a23a0a1a2每个元素ai各包含4个元素分别为:ai0,ai1,ai2,ai3,二维数组a由3个元素组成:a0、a1、a2a01a02a03a10a11a00a13a20a21a22a23a12a0a1a2第
2、3页/共30页第2页/共30页 例 int a23=1,2,3,4,5,6;a00 a01 a02 a10 a11 a12123456全部初始化分行全部初始化 第二节第二节 二维数组的初始化及引用二维数组的初始化及引用第4页/共30页第3页/共30页 例 int a23=1,2,4;a00 a01 a02 a10 a11 a12120400部分初始化第二节第二节 二维数组的初始化及引用二维数组的初始化及引用分行部分初始化 第5页/共30页第4页/共30页 例 int a3=1,4,5;a00 a01 a02 a10 a11 a12100450第一维长度省略初始化分行初始化,省略第一维的大小第二
3、节第二节 二维数组的初始化及引用二维数组的初始化及引用第6页/共30页第5页/共30页按元素排列顺序初始化 例 int a23=1,2,3,4,5,6;a00 a01 a02 a10 a11 a12123456全部初始化第二节第二节 二维数组的初始化及引用二维数组的初始化及引用第7页/共30页第6页/共30页 例 int a23=1,2,4;a00 a01 a02 a10 a11 a12124000部分初始化按元素排列顺序部分初始化 第二节第二节 二维数组的初始化及引用二维数组的初始化及引用第8页/共30页第7页/共30页 例 int a3=1,2,3,4,5;a00 a01 a02 a10
4、a11 a12123450第一维长度省略初始化按元素排列顺序初始化,省略第一维大小 第二节第二节 二维数组的初始化及引用二维数组的初始化及引用第9页/共30页第8页/共30页引用形式引用形式 数组名下标下标 第二节第二节 二维数组的初始化及引用二维数组的初始化及引用如:int a23;可以引用的数组元素有:a00,a01,a02,a10,a11,a12;第10页/共30页第9页/共30页二维数组的地址对于一维数组:(1)数组名array表示数组的首地址,即array0的地址;(2)数组名array是地址常量(3)array+i是元素arrayi的地址(4)arrayi *(array+i)ar
5、rayint array10;第三节第三节 二维数组和指针二维数组和指针第11页/共30页第10页/共30页对于二维数组:(1)a是数组名。包含三个元素 :a0,a1,a2(2)每个元素ai又是一个一维数组,包含4个元素:ai0、ai1、ai2、ai3aa+1a+2*(*(a+0)+1)*(a0+1)int a34;a0a1a2200020102020200020042010201420202024a00a01a10a11a20a21a02a03a12a13a22a23a0+1a1+1a2+1*(a+0)+1*(a+1)+1*(a+2)+1二维数组的地址第12页/共30页第11页/共30页对二
6、维数组 int a34,int a34,有a-a-二维数组的首地址,即第0 0行的首地址a+i-a+i-第i i行的首地址ai ai *(a+i)*(a+i)-第i i行第0 0列元素的地址ai+j ai+j *(a+i)+j*(a+i)+j-第i i行第j j列元素的地址*(ai+j)(ai+j)*(*(a+i)+j)*(*(a+i)+j)aij aija+i&ai,表示第表示第i行首地址,指向行行首地址,指向行ai *(a+i)&ai0,表示第表示第i行第行第0列元列元素地址,指向列素地址,指向列a0a1a2200020102020200020042010201420202024a00a0
7、1a10a11a20a21a02a03a12a13a22a23aa+1a+2二维数组的地址第13页/共30页第12页/共30页二维数组元素表示形式:(1)a12(2)*(a1+2)(3)*(*(a+1)+2)(4)*(&a00+1*4+2)首元素地址表示:(1)a+1 (2)&a10(3)a1(4)*(a+1)行指针列指针int a34;a00a01a10a11a20a21a02a03a12a13a22a23元素地址表示:(1)&a12(2)a1+2(3)*(a+1)+2(4)&a00+1*4+2二维数组的地址第14页/共30页第13页/共30页表示形式含义地址a二维数组名,数组首地址a0,*
8、(a+0),*a第0行第0列元素地址a+1第1行首地址a1,*(a+1)第1行第0列元素地址a1+2,*(a+1)+2,&a12第1行第2列元素地址*(a1+2),*(*(a+1)+2),a12第1行第2列元素值200020002010201020142312 4 615 7 9 8 23 3 2 5 17二维数组的地址第15页/共30页第14页/共30页指向二维数组元素的指针变量例例 指向二维数组元素的指针变量指向二维数组元素的指针变量main()static int a34=1,3,5,7,9,11,13,15,17,19,21,23;int*p;for(p=a0;pa0+12;p+)if
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 二维 数组 指针
限制150内