面向对象程序设计第8讲二维指针结构体.ppt
《面向对象程序设计第8讲二维指针结构体.ppt》由会员分享,可在线阅读,更多相关《面向对象程序设计第8讲二维指针结构体.ppt(27页珍藏版)》请在三一办公上搜索。
1、2023/10/31,1,多维数组及数组应用,赵红,2023/10/31,2,作业,写出程序运行结果。用行指针操作二维数组,找出最大值。void main()int a23=1,2,9,4,5,6;coutprint(a,2,3)endl;P167自测题7.5P164例7.5,本周上机测试结构体,2023/10/31,3,例如:比较两个字符串的大小。写出运算结果,#include#include void main()char s1=aBC,s2=abc;if(strcmp(s1,s2)=0)cout0)couts2;else couts1s2;,程序输出结果:s1s2,思考:若有语句if(s
2、1=s2)printf(s1=s2);比较的是什么?,2023/10/31,4,x0是数组名,是元素x00的地址,x1是数组名,是元素x10的地址,二维数组可看作是一种特殊的一维数组,x0-x00,x01,x02,x1-x10,x11,x12,例如,可以把x数组看作是包含二个元素的一维数组,每个元素又是一个含有三个元素一维数组。x为行指针,x0为元素指针,2023/10/31,5,二维数组的地址 例如:int a34;二维数组名a是数组的首地址。二维数组a包含三个行元素:a0、a1、a2。,三个行元素的地址分别是:a、a+1、a+2。而a0、a1、a2也是地址量,是一维数组名,即*(a+0)、
3、*(a+1)、*(a+2)是一维数组首个元素地址。,10.3 指针与数组,10.3.1 指向数组的指针,2.二维数组的指针,2023/10/31,6,二维数组元素的地址 a0、a1、a2是一维数组名,所以ai+j是数组元素的地址。,数组元素aij的地址可以表示为下列形式:&aij、ai+j、*(a+i)+j,10.3 指针与数组,10.3.1 指向数组的指针,2.二维数组的指针,2023/10/31,7,二维数组元素的表示法 数组元素可用下列形式表示:aij、*(ai+j)、*(*(a+i)+j),10.3 指针与数组,10.3.1 指向数组的指针,2.二维数组的指针,a 是二维数组,根据C的
4、地址计算方法,a经过两次*操作才能访问到数组元素。所以*a 是 a0,*a 才是 a00。a0是a00的地址,*a0是a00。,2023/10/31,8,int x23=0,1,2,10,11,12;int(*lp)3,*q;lp=x;q=x0;,10.3 指向数组的指针,指向一维数组的指针变量的定义形式:数据类型标识符(*变量名)元素个数,lp+;,q+;,cannot convert from int 23 to int*,2023/10/31,9,【例10.6】用指向一维数组的指针变量输出数组元素。#include void main()int a34=0,1,2,3,10,11,12,
5、13,20,21,22,23;int(*lp)4,j;for(lp=a;lpa+3;lp+)for(j=0;j4;j+)cout*(*lp+j);coutendl;,10.3 指针与数组,10.3.1 指向数组的指针,2.二维数组的指针,0 1 2 3,10 11 12 13,20 21 22 23,2023/10/31,10,指针数组定义的一般形式:数据类型标识符*数组名元素个数;在这个定义中由于“”比“*”的优先级高,所以数组名先与“元素个数”结合,形成数组的定义形式,“*”表示数组中每个元素是指针类型,“数据类型标识符”说明指针的目标变量的数据类型。例如:int*ip10;char*cp
6、5;,10.7 指针与数组,10.7 指针数组,1.指针数组的定义,指针数组就是数组中的每个元素均为指针类型,2023/10/31,11,例如:P191char c48=Fortran,COBOL,BASIC,Pascal;char*cp4=c0,c1,c2,c3;char*str5=int,long,char,float,double;,2023/10/31,12,8.3 指针与函数,2.数组的指针作函数参数,二维数组的指针作函数参数,二维数组的行指针作函数参数 例如被调函数abc的定义形式有以下三种:void abc(int b24)void abc(int b 4)void abc(in
7、t(*b)4)在主调函数有如下定义:int a24,(*p)4=a;则调用abc函数时可用 abc(a)或 abc(p),8.3.3 指针变量作函数参数,2023/10/31,13,7.2.4 二维数组应用举例(续),【作业2】有一个NM矩阵,编程序求出其中最大的那个元素的值及其所在的行、列位置。,图7.6 查找最大元素,2023/10/31,14,#define N 2#define M 3main()int i,j,row,colum,max,aNM;/*输入数据*/max=a00;row=colum=0;for(i=0;imax)max=aij;row=i;colum=j;/*输出数据*
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 程序设计 二维 指针 结构
链接地址:https://www.31ppt.com/p-6442345.html