(中职)计算机程序设计(C语言)第九章第2节教学课件工信版.ppt
《(中职)计算机程序设计(C语言)第九章第2节教学课件工信版.ppt》由会员分享,可在线阅读,更多相关《(中职)计算机程序设计(C语言)第九章第2节教学课件工信版.ppt(13页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、YCF(中职)计算机程序设计(C语言)第九章第2节教学课件工信版第九章第九章 指针与结构体指针与结构体9.2指针变量的应用指针变量的应用9.2指针变量的应用指针变量的应用9.2.1指针与数组指针与数组9.2.2指针与字符串指针与字符串9.2.3指针与函数指针与函数9.2.1指针与数组指针与数组1、一维数组元素及数组元素的地址假设有一5个元素的a数组,则元素和地址分别可以表示如图9-2-12、用指针变量引用数组元素如:int*p,x10=0,1,2,3,4,5,6,7,8,9;p=a;这里的指针变量p的值是x数组的首地址,即为&x0,p的值每增加1则自动跳转到下一个数组元素的地址。因此,x数组的
2、第i个元素可表示为:ai、*(a+i)、*(p+i),其中*(p+i)为指针表示法;x数组的第i个元素的地址可表示为:&ai、a+i、p+i,其中p+i为指针表示法。3、指针变量在数组中的应用【例9.9】将数组x中全部元素变成原来的2倍,再输出x数组。(1)#include(2)voidmain()(3)(4)intx=1,2,3,4,5;(5)int*p,i;(6)for(p=x;px+5;p+)(7)printf(%5d,*p);(8)printf(“n”);(9)for(i=0;i5;i+)(10)xi=xi*2;(11)p=x;(12)for(i=0;i5;i+)(13)printf(
3、%5d,*(p+i);(14)printf(n);(15)程序运行结果:12345246810注意:(1)程序第6行中的p+不能用x+替换,因为数组名x代表数组的起始地址,它是对于一个已经定义的数组是不能改变的,即为一个地址常量,而指针变量p是一个指针变量;(2)程序第11行,不能省略,必须要把指针变量p的值重新拉回到数组x的首地址;(3)程序第13行,在使用指针变量时要注意地址的值不能超出数组元素的界限。9.2.2指针与字符串指针与字符串1、指向字符串的指针变量的定义如:char*p=student;这里的赋值只是把字符串的首地址赋给p,而不是把字符串赋给p,p是一个指针变量,它不能存放一个
4、字符串,只能存放一个地址。2、利用指针变量输出字符串如:char*p=student;printf(%sn,p);输出字符串时,从指针变量p所记录的首地址开始依次向后输出直到碰到字符口串结束符0为止。因此,也可以用循环来实现字符串中字符的逐个输出如:char*p=student;for(;*p!=0;p+)printf(%c,*p);3、字符数组与字符指针变量的区别如:chars=Iamastudent.;char*p=Iamastudent.;(1)系统分配空间不同:定义数组s时,系统会给s分配一片连续的存储单元,而定义指针变量p时,系统只给p分配一个存储单元。(2)存储方式不同:数组s中存
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 程序设计 语言 第九 教学 课件 工信版
限制150内