版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第五节 指针本节任务 掌握定义指针;学会用指针访问变量、数组元素、了解指针的运算。学习要点 学会定义定义指针,并用指针的形式表示它所指向的变量或数组。指针是C语言中的一个重要概念,也是C语言的一个重要特色。指针是一种很特殊的数据类型,其实它既不是简单类型也不是构造类型。指针能动态地分配内存、方便地处理字符串、数组;能直接处理内存地址。指针的这些特点和用途对于设计系统软件和应用程序是很必要的。正确地使用指针,可以编写出简洁、紧凑、高效的程序。 51 变量与指针 本段任务 掌握指针的定义、运算,用指针访问变量。511 指针的概念例4_5_1 输入两个整数,按从大到小顺序输出。解法一:这道题先用普通
2、变量的方法解出。/* 4_5L1_1.C */main() int iA,iB,temp; scanf(“%d%d”,&iA,&iB); if(iAiB) temp=iA;iA=iB;iB=temp; printf(“nmax=%d,min%dn”,iA,iB);上面的方法是通过变量的名字访问变量,其实还可以用另外一种方法访问变量,也就是这一节要介绍的指针。下面介绍指针的概念。 在C语言中,将首地址形象地称为指针。那么变量存放在内存中,变量所在的内存首地址就称为变量的指针 用来存放地址(指针)数据的变量叫做指针变量。 用来存放普通变量地址的指针变量也叫做指向变量的指针变量,简称指针变量。 这里
3、要注意区分指针、变量的指针和指针变量这些概念,指针是地址,变量的指针是变量的地址(是常量)、指针变量是保存地址的变量。指针变量的值(指针变量中存放的数据)是指针(地址)。 512 定义指针变量 定义指针变量的格式:基类型 *指针变量名;指针变量的初始化格式:基类型 *指针变量名&变量名;在上面的定义中,我们在定义指针变量的同时也给指针变量赋了初值 也可以先定义指针变量,然后再赋值。例如:int *pa,*pb; /*定义指针变量*/pa=&iA; /*取变量iA的地址给指针变量pa */&是取地址运算符号,将变量iA的地址取出赋给指针变量pa,那么指针变量pa的内容就是变量iA的地址,就是说:
4、指针p指向了变量iA。 513 使用指针访问变量 根据变量地址存取变量值的方式叫做直接访问方式,比如:printf(“%dn”,iA);而通过指向变量的指针变量访问变量的方式叫做间接访问方式,比如:printf(“%dn”,*pa);这里出现了新的运算符:*是指向运算符,又称为间接访问运算符。*指针变量名表示取出该指针变量所指向的变量值。例如;int a,*pa;pa=&a;a=5; /*直接访问*/等价于*pa=5; /*间接访问*/514 指针的其它运算 除了上面介绍的取指针运算&(即取变量地址)、取指针变量所指的变量的值运算*(即以间接方式访问变量)等运算外,还有如下运算:赋值运算,指针
5、变量之间可以相互赋值,指针常量可以赋值给指针变量。指针的自增自减运算(包括加减整数)等于移动指针位置,使它指向另外的内存首址。同类型指针的比较运算,实际上就是比较指针所指的首地址是否相等和孰大孰小。同类型指针的相减运算,表示同类型数据相差的个数。 解法二:/* 4_5L1_2.C */main() int iA,iB,*pa=&iA,*pb=&iB,temp; scanf(“%d%d”,pa,pb);if(*pa*pb) temp=*pa;*pa=*pb;*pb=temp; printf(“a=%d,b=%dn”,iA,iB);printf(“nmax=%d,min=%dn”,*pa,*pb);解法三: /* 4_5L1_3.C */main()int iA,iB,*pa=&iA,*pb=&iB,*temp;scanf(“%d%d”,pa,pb);if(*pa*pb) temp=pa; pa=pb; pb=temp; printf(“a=%d,b=%dn”,iA,iB);printf(“max=%d,min=%dn”,*pa,*pb);作业和练习(均要求用指针方法处理) 1、现有football、camel、angel、ship、tent、bus、goldfish七个单词,用指针
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 砖砌体施工质量控制方案
- 2026西南石油大学南充校区安全与后勤保障部招聘2名临时聘用员工备考题库(四川)(模拟题)附答案详解
- 2026广东深圳市罗湖区启智幼教集团招聘1人备考题库附完整答案详解(典优)
- 2026江苏扬州高邮高新招商发展有限公司招聘招商专员5人备考题库附答案详解(典型题)
- 2026上海奉贤区储备人才招录31人备考题库及参考答案详解(巩固)
- 2026河北承德县招聘公益性岗位人员16人备考题库含答案详解【综合题】
- 2026云南玉溪市计划生育协会城镇公益性岗位招聘1人备考题库(夺冠)附答案详解
- 2024-2025学年全国统考教师资格考试《教育教学知识与能力(小学)》考前冲刺练习题附完整答案详解【各地真题】
- 2026贵州贵阳贵安统一招聘中小学(幼儿园)教师819人备考题库及答案详解【新】
- 2026天津铁路建设投资控股(集团)有限公司招聘1人备考题库【夺冠系列】附答案详解
- 石材养护报价表范本
- 机器人技术及其应用课件
- 《从零开始玩转活动策划(升级版)》读书笔记模板
- (198)-秦可卿课件2红楼梦人物艺术鉴赏
- 严重精神障碍患者宣传与教育
- 截面的形心静矩
- GB/T 18883-2022室内空气质量标准
- GB/T 4458.6-2002机械制图图样画法剖视图和断面图
- 半命题作文指导-课件
- 2023年江苏海事职业技术学院单招考试面试模拟试题及答案解析
- 美世-宝钢国际职位评估系统
评论
0/150
提交评论