第9章指针的应用(课件)-高二《C语言程序设计》同步教学(中国水利水电出版社 第三版 )

2023-07-02
| 53页
| 88人阅读
| 0人下载
普通

内容正文:

第9章 指针的应用 本章主要内容 1、指针与数组 2、字符串的指针和指向字符串的指针变量 3、指针数组 4、指向指针的指针 5、函数指针 6、返回指针的函数 7、main()函数的返回指和参数 9.1一维数组与指针 ● C语言规定数组名代表数组的起始地址,一个数组包含若 干个元素,每个数组元素都在内存中占用存储空间,都有 相应的地址,指针变量可以指向数组或数组元素。 9.1.1数组名的特殊意义及其在访问数组元素中的作用 #include"stdio.h" #include"stdio.h" int main() int main() { 数组元素的引 { int a[5],i; int a[5],i; for(i=0,i<5;i++)》 for(i=0:i<5,i++) { a或&al0] { scanf("%d",&a[aa山 al01或*(a+0) scanf("%d",a a1川或*(a+1) } for(i=0;,i<5;i++)》 a+2或&a2] for(i=0;i<5,i++)) a2或*(a+2) a+3或&a3] printf("%3d",ai]); a3]或*(a+3) printf("%3d" } a+4或&a41 a4或*(a+4) printf(" "); printf("In"); return 0; return 0; } 9.1.2数组元素的指针其作用是将指针变量即指向数组元素的 首地址,其指向关系如图9-2(b)所示 int a[5],*p; p=&a[0]: p&a[0] a[0] a[o] a a al21 a[2] a31 a[3] a[4] a[4] ) (b) p=&a[0];等价于 p=a, 9.1.3指针变量运算 指针变量的运算是指指针变量所持有的地址为运算对象进 行的运算,所以指针变量的运算实际上就是地址的运算。 指针的运算常常是针对数组元素的,因为数组在内存 中是连续存放的,所以指向同一数组中不同元素的两个指针 的关系运算常用于比较它们所指元素在数组的前后位置关系 。指针的算术运算(增1或减1)则常用来移动指针的指向 使其指向数组中的其他元素。这里强调只有运算结果仍指 向同一数组中的元素时,指针运算才有意义。 a可10]*p.*q p=&a[2]:+ 此时,指针指向如右图说是所示。 指针p加上整数j将产生指向特楚心素的增4这个特定元繁原 来指向的元素后的第个位置 此时,表示在p当前指向的情况 下,向后偏移3个元素的位置就是q所 指向的存储空间。和 a0a1】a2】a3a4]a5]a6a7]a[8a9] p+=6: 此时,表示在p当前指向的情况下, 向后偏移6个元素的位置,就是偏移后 p所指向的存储空间,q的指向不变。 a01】a2]a3]a41a5a6a7]8a[9 图93指针加上一个整数的运算示意图 ta[10]*p.*q p=&a[8]w 此时,指针指向如右图说是所示。? a01)a2a3】a[4]a5a6a7]8a9y Q-p-3: 此时,表示在p当前指向的情况下, 向前偏移3个元素的位置就是q所指向 的存储空间。 a0]a刂2】a3Ja41a5a6af7】a8]a9] p-=6;w 此时,表示在p当前指向的情况 下,向前偏移6个元素的位置,就是偏 移后p所指向的存储空间,q的指向不 变。 ao]a1」[2】a3)a4]a5】a6a[7Ja8)a9 图94指针减去一个整数的运算示意图: 3、两个指针相减 当两个指针相减的时候,结果为两个指针之间的 距离,用数组元素的个数来表示。因此,如果p指向 a[且q指向a],则p-q就等于ij。 处a[10,i*p,*q p=&a[] q=&a[1 i=p-q:+ i的结果为它们所指存储空间索引 a0]1]a2]a[3]a[4a5]a[6a7]a81a9] 差的值4.3 4、指针的比较 可以用关系运算符(<、<=、>、>=)和判断运算符 ( ==和!=)进行指针的比较运算,只有在两个指针指向同一数 组时,用关系运算符进行的指针比较才有意义。比较的结果 依赖于数组中两个元素的相对位置。 例如: inta[10],*p,*q; p=&a[5]; q=a[1]; p<=q的指位0,而p>=q的结果为1。

资源预览图

第9章指针的应用(课件)-高二《C语言程序设计》同步教学(中国水利水电出版社 第三版 )
1
第9章指针的应用(课件)-高二《C语言程序设计》同步教学(中国水利水电出版社 第三版 )
2
第9章指针的应用(课件)-高二《C语言程序设计》同步教学(中国水利水电出版社 第三版 )
3
第9章指针的应用(课件)-高二《C语言程序设计》同步教学(中国水利水电出版社 第三版 )
4
第9章指针的应用(课件)-高二《C语言程序设计》同步教学(中国水利水电出版社 第三版 )
5
第9章指针的应用(课件)-高二《C语言程序设计》同步教学(中国水利水电出版社 第三版 )
6
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。