电子教案C 语言案例教程第四章12_第1页
电子教案C 语言案例教程第四章12_第2页
电子教案C 语言案例教程第四章12_第3页
电子教案C 语言案例教程第四章12_第4页
电子教案C 语言案例教程第四章12_第5页
已阅读5页,还剩5页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论