《数组与指针》PPT课件.ppt
《《数组与指针》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《数组与指针》PPT课件.ppt(30页珍藏版)》请在三一办公上搜索。
1、第十章 数组与指针,10.1 一维数组首地址和数组元素的地址一维数组首地址和数组元素的地址在C语言中,数组占用一串连续的存储单元,如有以下定义:int a5,*p,i;数组中每个元素都可以看作一个变量,因此每个数组元素均有一个地址,例如元素a0的地址可表示为&a0。在上面的定义语句中,指针p的基类型为整型,可以指向任意的一个整型存储单元。我们可以使用p=&a0将指针p指向数据元素a0。由于数组元素在内存中是连续的,因此可以通过移动指针p来访问数组中的每个元素。,C语言规定数组名代表数组在内存中的起始地址,即可以使用a表示数组a的首地址。因此也可以使用p=a来让指针p指向数组的起始地址。需要注意
2、的是:a是一个地址常量,它永远指向a数组的首地址。因此不能对a进行重新赋值,a=或a+;这样的赋值语句都是非法的。,a0,a1,a2,a3,a4,p,二.通过指针引用一维数组元素,(1)通过指针引用数组元素,如有以下的定义语句:int*p,a5;p=,在指针这一章我们学过,可以通过算术运行对指针进行移动。例如p+1表示p所指向存储单元的下一个存储单元,即a1;p+2指向a2,p+3指向a3,所以我们可以使用*(p+1)来表示a1,*(p+2)来表示a2,同样,也可以使用p表示&a0,p+1表示&a1,p+2表示&a2,例10.1 有以下程序:main()int a5,*p,i;for(p=a,
3、i=0;i5;i+)scanf(“%d”,p+i);for(p=a;pa+5;p+)printf(“%d”,*p);,(2)通过数组的首地址引用数组元素,如有定义:int a5;由于a表示数组a的首地址,我们可以把a当作一个指针变量。因此*a等价于a0;*(a+1)等价于a1,同样,a等价于&a0;a+1等价于&a1,例10.2 有以下程序:main()int a5,i;for(i=0;i5;i+)scanf(“%d”,a+i);for(i=0;i5;i+)printf(“%d”,*(a+i);,(3)用带下标的指针变量引用一维数组元素,若有以下定义语句:int*p,a5;p=a;我们可以使用
4、p0来表示p指针指向的内存单元,使用p1表示p指针指向的内存单元的下一个内存单元。也就是说,可以使用p0来表示a0;p1来表示a1 因此,对数组元素ai可以有4种等价的引用方法:ai;pi;*(a+i)*(p+i)。对应地,对ai地址的引用,也有4种等价的引用方法:a+i p+i。从上面可以看出,当指针p指向数组a的首地址后,a和p具有相同的引用方法。但是,a和p有着本质的区别:a是数组而p是指针;a不能重新赋值而p可以随意的重新赋值。,例10.3 有以下程序:main()int a10=1,2,3,4,5,6,7,8,9,10,*p=程序运行的输出结果是_。16 B)10 C)8 D)6答案
5、:B,例10.4 有以下程序:main()int i,s=0,t=1,2,3,4,5,6,7,8,9;for(i=0;i9;i+=2)s+=*(t+i);printf(“%dn”,s);程序执行后的输出结果是_。45 B)20 C)25 D)36答案:C,10.2 二维数组和指针,二维数组的首地址和数组元素的地址 如有以下语句:int a23,*p,i;数组a如下所示:,a0,a00,a01,a02,a1,a10,a11,a12,任何一个二维数组由若干个一维数组组成 实际上,二维数组a由两个元素组成,分别是a0和a1。而a0和a1又分别是两个一维数,如上图所示。a0和a1可以视为这两个一维数组
6、的数组名,它们分别由3个整型元素组成。其中,a0由以下三个元素组成:a00 a01 a02 a1由以下三个元素组成:a10 a11 a12,通过前面学习,我们已经知道一维数组名是一个地址常量,其值为数组第一个元素的地址值,此地址的基类型就是数组元素的类型。在以上二维数组中,a0和a1都是一维数组名,它是一个不可变的地址常量,其值代表每行的首地址。因此,a0代表了a00的地址,a1代表了a10的地址。,如我们使用p=a0;语句进行赋值是合法的,此时p指向了a0所指向的存储单元,即a00。此时a0i和pi等价,*(a0+i)与*(p+i)等价。特别地,因为二维数组在内存中连续顺序存放,a10紧接在
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数组与指针 数组 指针 PPT 课件

链接地址:https://www.31ppt.com/p-5520176.html