- 1、本文档共84页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
C语言程序设计
创建第一个C语言程序项目1“学生成绩管理系统”中相关数据设计及简单处理项目2项目中学生成绩的等级判定项目3项目中的设计数据处理及封面与菜单的初步项目4学生成绩的分组汇总程序项目5
利用数组完善项目中数据的处理项目6利用函数进行项目的整体框架设计项目7利用结构体实现项目项目8利用指针优化项目项目9利用文件完善项目项目10
项目9利用指针优化项目
目标TARGET知识目标掌握指针的定义与使用。掌握指针的运算。掌握指向数组的指针。掌握指向结构体的指针。掌握指向函数的指针。
目标TARGET技能目标能够熟练使用数组指针解决多个数据处理问题。能够利用指针操作结构体,对结构体成员进行访问。能够使用指针解决函数相关问题,提高执行效率。
用指针实现学生最高、最低成绩查找任务9.1用指针实现学生成绩排序任务9.2
任务9.1用指针实现学生最高、最低成绩查找任务描述改进学生成绩管理系统,用指针来实现学生成绩管理系统中的最值的查找,提高程序执行效率。任务分析项目8中开发的学生成绩管理系统,对数据的操作是通过结构成员访问实现的,显然执行效率低,处理批量数据速度太慢。本任务将利用指针知识优化程序主要功能模块—最值查找,用指针来访问结构成员,处理批量数据,以提高系统的访问效率。本任务的要点是:用指向结构的指针作为函数的参数。
1认识指针Part◎指针与数组◎指针的概念
指针的概念在内存中,每个内存单元都有一个地址,如在一个32位计算机的内存中,内存地址的编号按十六进制FFFFFFFF,共有232个内存单元(字节),如果一个整型变量占据4个字节,那么4个字节中编号最小的字节的地址即是该整型变量所占存储单元的地址。通常我们把指向内存存储单元的地址叫指针。如果一个整型变量占据4个字节,那么4个字节中编号最小的字节的地址即是该整型变量所占存储单元的地址。通常我们把指向内存存储单元的地址叫指针。如一个整型变量inta=247,在内存中占据4个字节,存储的内容是247,假如所占据的4个字节从地址为0012FF7C开始,则变量a的地址就是0012FF7C,该地址也叫整型变量所占存储单元的首地址,也是变量a的指针,记作a。一个变量的地址称为该变量的“指针”。如果有一个变量专门用来存放其他变量的地址(指针),这个变量被称为“指针变量”。
指针的概念(1)指针变量的定义、初始化和使用指针变量在使用前首先需要定义,定义指针变量的语法格式如下所示:类型标识符*指针变量名;一般指针变量初始化格式如下所示:类型标识符*指针变量名=变量名;
指针的概念指针变量的初始化方式:1)定义指针变量,由系统进行初始化操作,或者不进行初始化。如:inta,*p;2)定义指针变量的同时进行初始化。如:inta,*p=a;或者inta;int*p=a;3)指针变量初始化为空值。如:inta,*p=NULL;
指针的概念指针变量的引用:指引用指针变量指向的变量,就是根据指针变量中存放的地址,访问该地址对应的变量。访问指针变量指向变量的方式非常简单,只需在指针变量前加一个“*”(取值运算符)即可,访问指针变量的语法格式如下所示:*指针表达式;
指针的概念(2)指针变量作为函数参数指针变量作为变量,它具有变量的一切特征,它也可以作为函数的形参,接受在函数调用时实参传过来的值,那么指针变量作为函数的参数时,实参必须是指针变量、变量的地址、地址常量等。
指针的概念#includestdio.hvoidmain(){intnum=1;int*ptr=num;//定义一个指针变量,指针printf(\nnum的值=%dnum地址=%p,num,num);//显示num的地址printf(\nptr的地址是%pptr存放的值是地址为%pptr指向的值=%d,ptr,ptr,*ptr);getchar();}例9-1写一个程序,获取一个int变量num的地址,并显示到终端,将num的地址赋给指针ptr,并通过ptr去修改num的值。
指针的概念执行结果
说明:(1)int*表示类型为指针类型,变量名称为ptr,ptr就是一个int*类型,ptr指向了一个int类型的变量的地址。(2)如果要输出一个变量的地址,使用格式是%p,num表示取出num这个变量的对应地址。(3)指针变量,本身也有地址,ptr的地址为ptr;ptr表示指针变量存放的地址,通过*ptr获取指针指向的值。
注意:(1
文档评论(0)