文档详情

第2章++补充数组、指针、链表应用讲述.pptx

发布:2017-04-05约8.28千字共46页下载文档
文本预览下载声明
面向对象程序设计C++ 信息工程学院 王莉 第2章 补充 2.1 数组 2.2 指针 2.3 链表应用 1)一维数组的定义 ????语法格式为: 数据类型 数组名 [常量表达式] ; 例如: int ?a[5]; //包含5个元素的整型数组a???? 1、一维数组 23 45 67 10 29 0 1 2 3 4 2.1 数组 2)一维数组元素的引用 格式:数组名[下标] 23 45 67 100 29 0 1 2 3 4 a[0] a[1] a[2] a[3] a[4] 例如: int ?a[5]; //包含5个元素的整型数组a???? ??(3)一维数组的初始化 ??在定义数组的同时给数组元素赋初值称为数组的初始化。其语法格式为: ???数据类型 数组名 [常量表达式]={初值表}; 例如: int?a[10]={1,2,3,4,5,6,7,8,9,10}; //整型数组元素被全部初始化 int?b[10]={1,3,5,7,9}; //初始化了部分数组元素 int?c[ ]={2,4,6,8,10}; //通过对数组元素全部初始化 (4)一维 数组元素输入输出 1) 数组元素的输入 for(j=0; jN; j++) cina[j]; 例如:int a[N]; //N是已定义过的常量 2) 数组元素的输出 for(j=0; jN; j++) couta[j]; 在C++中,使用new可以为一维数组动态分配内存空间,例如: int *p=new int[10]; 一维数组的长度也可以是变量,例如: int m; cinm; int *p=new int[m]; 释放new分配的内存空间,格式:delete []p; (5)动态的一维数组 相当于 int *p, a[10]; p=a; 1)二维数组的定义 ????语法格式为: 数据类型 数组名 [常量表达式1] [常量表达式2] ; 例如: int ?a[3][4]; //定义3行4列的数组a???? 2、二维数组 2 4 6 7 4 9 5 1 7 0 2 4 0 1 2 3 0 2 4 6 7 1 4 9 5 1 2 7 0 2 4 a 内存 2 4 6 7 4 9 5 1 7 0 2 4 100 104 108 10C 110 114 118 120 124 128 12C 130 134 138 2)二维数组元素的引用 格式:数组名[行下标][列下标] 5 (3)二维 数组元素输入输出 1) 数组元素的输入 for(i=0; i3; i++) for(j=0; j4; j++) cina[i][j]; 例如:int a[3][4]; 2) 数组元素的输出 for(i=0; i3; i++) for(j=0; j4; j++) couta[i][j]; (4)动态的二维数组 思考:在c语言中二维数组的处理 2 4 6 7 4 9 5 1 7 0 2 4 2 4 6 7 4 9 5 1 7 0 2 4 int a[3][4] 在C++中,使用new可以为二维数组动态分配内存空间。 2 4 6 7 4 9 5 1 7 0 2 4 2 4 6 7 4 9 5 1 7 0 2 4 列数固定的二维数组,一般格式为: TYPE (*p)[N] = new TYPE [ ][N]; //列固定 p是指向包含有N个元素的数组指针。 例如: 指定列数的二维数组应用 (4)动态的二维数组 (2)不指定数组的列数: 2 4 6 7 4 9 5 1 7 0 2 4 2 4 6 7 4 9 5 1 7 0 2 4 p 定义一个二级指针 int **p; p = new int*[3];?? //int*[3] 表示包含3个元素的指针数组 给指针数组初始化 for (int i = 0; i3; ++i){ p[i] = new int[4]; //动态分配包含4个元素数组 } 当数组使用
显示全部
相似文档