文档详情

维数组与指针的讲解.pptx

发布:2025-04-23约7.09千字共10页下载文档
文本预览下载声明

好好考()全国计算机等级考试二级C语言

第12讲二维数组与指针二维数组的定义数组元素的引用及初始化二维数组和指针二维数组名和指针数组作为实参二维数组程序举例真题分析

第一节二维数组的定义定义形式:数据类型数组名[常量表达式1][常量表达式2]数组元素的存放顺序内存是一维的按行序优先如:inta[3][2];inta[3][2]a[0][1]a[1][0]a[1][1]a[2][0]a[2][1]a[0][0]a[0][0]a[0][1]a[1][0]a[1][1]a[2][0]a[2][1]

例inta[3][4];二维数组的理解:特殊的一维数组a[0][0]a[0][1]a[0][2]a[0][3]a[1][0]a[1][1]a[1][2]a[1][3]a[2][0]a[2][1]a[2][2]a[2][3]a[0]a[1]a[2]每个元素a[i]各包含4个元素分别为:a[i][0],a[i][1],a[i][2],a[i][3],二维数组a由3个元素组成:a[0]、a[1]、a[2]a[0][1]a[0][2]a[0][3]a[1][0]a[1][1]a[0][0]a[1][3]a[2][0]a[2][1]a[2][2]a[2][3]a[1][2]a[0]a[1]a[2]

例inta[2][3]={{1,2,3},{4,5,6}};a[0][0]a[0][1]a[0][2]a[1][0]a[1][1]a[1][2]123456全部初始化分行全部初始化第二节二维数组的初始化及引用

例inta[2][3]={{1,2},{4}};a[0][0]a[0][1]a[0][2]a[1][0]a[1][1]a[1][2]120400部分初始化第二节二维数组的初始化及引用分行部分初始化

例inta[][3]={{1},{4,5}};a[0][0]a[0][1]a[0][2]a[1][0]a[1][1]a[1][2]100450第一维长度省略初始化分行初始化,省略第一维的大小第二节二维数组的初始化及引用

按元素排列顺序初始化例inta[2][3]={1,2,3,4,5,6};a[0][0]a[0][1]a[0][2]a[1][0]a[1][1]a[1][2]123456全部初始化第二节二维数组的初始化及引用

例inta[2][3]={1,2,4};a[0][0]a[0][1]a[0][2]a[1][0]a[1][1]a[1][2]124000部分初始化按元素排列顺序部分初始化第二节二维数组的初始化及引用

例inta[][3]={1,2,3,4,5};a[0][0]a[0][1]a[0][2]a[1][0]a[1][1]a[1][2]123450第一维长度省略初始化按元素排列顺序初始化,省略第一维大小第二节二维数组的初始化及引用

第二节二维数组的初始化及引用引用形式数组名[下标][下标]如:inta[2][3];可以引用的数组元素有:a[0][0],a[0][1],a[0][2],a[1][0],a[1][1],a[1][2];

二维数组的地址对于一维数组:(1)数组名array表示数组的首地址,即array[0]的地址;(2)数组名array是地址常量(3)array+i是元素array[i]的地址(4)array[i]?*(array+i)arrayintarray[10];第三节二维数组和指针

对于二维数组:(1)a是数组名。(2)包含三个元素:a[0],a[1],a[2]。每个元素a[i]又是一个一维数组,包含4个元素:a[i][0]、a[i][1]、a[i][2]、a[i][3]aa+1a+2*(*(a+0)+1)*(a[0]+1)inta[3][4];a[0]a[1]a[2]200020102020200020042010201420202024a[0][0]a[0][1]a[1][0]a[1][1]a[2][0]a[2][1]a[0][2]a[0][3]a[1][2]a[1][3]a[2][2]a[2][3]a[0]+1a[1]+1a[2]+1*(a+0)+1*(a+1)+1*(a+2)+1二维数组的地址

对二维数组inta[3][4],有a-----二维数组的首地址,即第0行的首地址a+i-----第i行的首地址a[i]?*(a+i)------第i行第0列元素的地址a[

显示全部
相似文档