C语言程序设计 教学课件 作者 金升灿第六章 指针.ppt

C语言程序设计 教学课件 作者 金升灿第六章 指针.ppt

ID:50320405

大小:376.50 KB

页数:45页

时间:2020-03-08

C语言程序设计 教学课件 作者 金升灿第六章 指针.ppt_第1页
C语言程序设计 教学课件 作者 金升灿第六章 指针.ppt_第2页
C语言程序设计 教学课件 作者 金升灿第六章 指针.ppt_第3页
C语言程序设计 教学课件 作者 金升灿第六章 指针.ppt_第4页
C语言程序设计 教学课件 作者 金升灿第六章 指针.ppt_第5页
资源描述:

《C语言程序设计 教学课件 作者 金升灿第六章 指针.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第六章指针1)了解指针的基本概念;2)掌握定义各种指针变量的方法及基本操作;3)了解指针与数组的关系,掌握利用指针访问数组元素的方法;4)掌握利用指针访问字符串的方法。16.1指针概念1.内存地址1)内存中存储单元的编号叫做内存地址。计算机硬件系统的内存储器中,拥有大量的存储单元(容量为1个字节)。为了方便管理,必须为每一个存储单元编号,这个编号就是存储单元的“地址”。每个存储单元都有一个惟一的地址。2)计算机是在内存地址所标识的存储单元中存放数据。注意:内存单元的地址与内存单元中的数据是两个完全不同的概念。26.1指针概念2.变量地址系统分配给变量

2、的内存单元的起始地址(首地址)叫做变量的地址。main(){intnum;scanf("%d",&num);printf("num=%d",num);}C编译程序编译到变量num定义语句时,为变量num分配存储单元。假设系统分配给变量num的2字节存储单元为3000和3001,则起始地址3000就是变量num在内存中的地址。36.1指针概念3.变量值的存取变量值得存取是通过变量在内存中的地址进行。执行语句“scanf(“%d”,&num);”时,找到变量num的起始地址3000,然后将键盘输入的值(假设为3)送到内存单元3000和3001中。此时

3、,变量num在内存中的地址和值。执行“printf(“num=%d”,num);”时,首先找到变量num的起始地址3000,然后从3000和3001中取出其值,最后将它输出。46.1指针概念4.指针、变量的指针和指针变量1)指针是内存单元的地址。指针指向一个内存单元。2)变量的指针是变量的地址。变量的指针指向系统分配给变量的内存单元起始地址。3)指针变量是用于存储其它变量地址的变量。地址(指针)也是数据,可以保存在一个变量中,保存地址(指针)数据的变量称为指针变量。如果指针变量p的值是变量i的地址,则称指针变量p指向变量i。指针变量p指向的地址也

4、可能仅仅是一个内存地址。在不混淆的情况下,习惯上将指针变量p简称为指针p。说明:指针与指针变量的区别,就是变量值与变量的区别。56.2指向变量的指针变量对指针变量的定义包括三个内容:1)指针类型说明,即定义变量为一个指针变量;2)指针变量名;3)变量值(指针)所指向的变量的数据类型。定义指针变量的一般形式:数据类型*指针变量名1,*指针变量名2,……;例如:int*p1;float*p2;char*p3;说明:“*”表示定义的变量是指针变量,不是普通变量。66.2.1利用指针变量访问变量【例6-1】利用指针变量访问变量的实例。#include

5、io.h>main(){inta=10,*pa;pa=&a;printf("%d",*pa);}程序运行结果:1076.2.1利用指针变量访问变量1)变量地址的表示方法:&变量名例如:pa=&a;2)指针变量指向的变量值(内容)的表示方法:*指针变量例如:printf("%d,%d",*pa);3)指针变量和普通变量可以同时定义,例如:inta=10,*pa;也可以对指针变量初始化,例如:inta=10,*pa=&a;与inta=10,*pa;pa=&a;是等价的。86.2.2程序设计举例【例6-2】利用指针输入输出实型数据。#include

6、main(){floatx,*px=&x;scanf("%f",px);printf("x=%.2f",*px);}程序运行结果:6.235↙x=6.2496.2.2程序设计举例【例6-3】利用指针变量实现从键盘输入两个整数,输出两个数的和。#includemain(){inta,b,s,*pa=&a,*pb=&b,*ps=&s;scanf("%d%d",pa,pb);*ps=*pa+*pb;printf("s=%d",*ps);}程序运行结果:35↙s=8106.2.2程序设计举例【例6-4】交换两个指针

7、变量的值。#includemain(){intx=10,y=20,*px=&x,*py=&y,*pt;pt=px;px=py;py=pt;printf("*px=%d,*py=%d",*px,*py);printf("x=%d,y=%d",x,y);}程序运行结果:*px=20,*py=10x=10,y=20116.2.2程序设计举例【例6-5】交换两个指针变量所指向的变量的值#includemain(){intx=10,y=20,t,*px=&x,*py=&y;t=*px;*px=*py;*py=t;pr

8、intf("*px=%d,*py=%d",*px,*py);printf("x=%d,y=%d",x

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。