C语言程序设计教学课件 作者 胡成松 黄玉兰 李文红 电子课件 第8章 指针.pptx

C语言程序设计教学课件 作者 胡成松 黄玉兰 李文红 电子课件 第8章 指针.pptx

ID:52848569

大小:1.38 MB

页数:81页

时间:2020-03-26

C语言程序设计教学课件 作者 胡成松 黄玉兰 李文红 电子课件 第8章 指针.pptx_第1页
C语言程序设计教学课件 作者 胡成松 黄玉兰 李文红 电子课件 第8章 指针.pptx_第2页
C语言程序设计教学课件 作者 胡成松 黄玉兰 李文红 电子课件 第8章 指针.pptx_第3页
C语言程序设计教学课件 作者 胡成松 黄玉兰 李文红 电子课件 第8章 指针.pptx_第4页
C语言程序设计教学课件 作者 胡成松 黄玉兰 李文红 电子课件 第8章 指针.pptx_第5页
资源描述:

《C语言程序设计教学课件 作者 胡成松 黄玉兰 李文红 电子课件 第8章 指针.pptx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、8.1指针的基本概念8.2指针与数组8.3指针与函数第八章指针8.4知识点强化与应用8.5本章小结【学习要点】1.指针的基本概念2.指针与数组3.指针与函数本章主要介绍指针的基本概念,指针与数组的关系及应用,指针与函数的关系及应用。指针是C语言的特色,希望大家能学好该部分内容,实现如函数中多数据的返回等C语言其他部分不能实现的功能。正确使用指针,能写出紧凑高效的程序。定义学生信息管理系统中的某个子模块的功能,实现从键盘输入一个班级中所有学生的某门课程的成绩,通过调用函数实现统计,按规定格式输出最高分、最低分、平均分,同时输出优秀人数、良好人数、及格人数、不及格人数以及所占

2、比例。【导入案例:函数中多数据的返回】在前面我们所讲的函数中,只能有一个返回值,参数之间只能是实参的值传递给形参,实现的是单向传递。程序中要求返回最高分、最低分、平均分以及各分数段的人数及所占比例等多个返回值。如何使函数能有多个返回值呢?这就需要用到指针。分析正确使用指针,必须深入地学习和掌握指针的概念。可以说,没掌握指针就是没有掌握C语言的精华。8.1指针的基本概念8.1.1指针的概念8.1.2指针变量的定义与初始化8.1.3指针的引用及运算8.1.4指针变量作为函数参数8.1指针的基本概念8.1.1指针的概念1.地址及取地址运算符在程序中定义了一个变量,系统会根据变量

3、的类型为变量分配相应字节的存储空间,用于存放数据,存放的数据称为内存单元的内容,而系统为变量分配的存储空间的首个存储单元的地址称为变量的地址。可按如下的方式获取变量的地址:&变量名&是单目运算符,称为取地址运算符,其操作数是变量名。8.1.1指针的概念(续)1.地址及取地址运算符例如:inta=10;则&a是整型变量a的首地址。利用存储空间的地址,可以访问存储空间,从而获得存储空间的内容。地址就好像是一个路标,指向存储空间。因此,又把地址形象地称为指针。8.1.1指针的概念(续)1.地址及取地址运算符0012FF56H10a内容地址8.1.1指针的概念(续)2.指针变量在

4、C语言中,专门用来存放地址的变量称为指针变量,指针变量的值为地址。假设pa是存放整型变量地址的变量,如有语句inta=10,*pa;pa=&a;8.1.1指针的概念(续)即a的地址存入变量pa,则称“指针变量pa指向变量a”,或“pa是a的指针”,被pa指向的变量a称为“pa的对象”。“对象”就是一个有名字的内存区域,即一个变量。这时,对变量a的访问就有两种方式,分别是直接通过变量a来访问和通过指向a的指针变量pa来访问。8.1.1指针的概念(续)指针类型是对所有类型的指针的总称,指针的类型是指针变量所指对象的数据类型。例如,pa是指向整型变量的指针,简称整型指针。整型指

5、针是基本类型的指针之一,除各种基本类型之外,允许说明指向数组的指针、指向函数的指针、指向结构和联合(第九章会讲)的指针以及指向各类指针的指针。地址是指针变量的值,也称为指针,指针变量有时也简称为指针,因此,指针一词可以指地址值、指针变量,还可以是地址和指针变量二者。8.1.2指针变量的定义与初始化1.指针变量的定义指针的定义形式为:存储类型说明数据类型*指针变量名;说明:(1)指针说明和一般变量说明语法相似,只是在变量之前都有“*”符号。(2)“*”后面的名字是指针变量名,指针变量名遵循C语言标识符命名规则。(3)指针的数据类型,是指针所指向的变量的数据类型,而不是指针自

6、身的数据类型,指针变量本身只能装地址值,显然只属于整型范畴。(4)“void*”的指针变量,在使用前可临时强制转换成相应的对象类型。8.1.2指针变量的定义与初始化(续)2.指针变量的初始化指针变量初始化的一般形式为:存储类型说明数据类型*指针变量名=初始地址值;说明:(1)赋值号前面的部分为指针的定义,在定义的同时立刻赋值。(2)初始地址值通常为如下形式:intx,*px=&x;(3)初始地址值最好不要为具体的十六进制的整数,因为不知该地址是否可用。8.1.2指针变量的定义与初始化(续)(4)指针类型虽然可装整型数据,但注意指针变量不能存放一般的整型数,这个数必须是合理

7、、可用的内存地址。一个一般的整型数代表的地址未必合理,也未必可用,因为如果在代码区,会造成程序崩溃,而在ROM区则不可用。(5)可以把指针初始化为空指针。例如:在头文件stdio.h中,有如下定义:#defineNULL0可以定义:int*p=NULL;8.1.3指针的引用及运算1.指针的引用在引用指针变量时,可能有3种情况:(1)给指针变量赋值。如:pa=&a;即把a的地址赋给指针变量pa,又称pa指向a。(2)引用指针变量指向的变量。如果已执行“pa=&a;”,即指针变量pa指向了整型变量a,则:printf("%d",*

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

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

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