第八章 指针08年12月10日ppt课件.ppt

第八章 指针08年12月10日ppt课件.ppt

ID:58680640

大小:1.16 MB

页数:73页

时间:2020-10-05

第八章 指针08年12月10日ppt课件.ppt_第1页
第八章 指针08年12月10日ppt课件.ppt_第2页
第八章 指针08年12月10日ppt课件.ppt_第3页
第八章 指针08年12月10日ppt课件.ppt_第4页
第八章 指针08年12月10日ppt课件.ppt_第5页
资源描述:

《第八章 指针08年12月10日ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第八章指针C语言程序设计山西大同大学物电学院2021/9/201第八章指针教学目的与要求:1、了解指针与地址的概念2、掌握指针变量的定义、初始化及指针的运算3、了解指针与函数的概念4、掌握指针作为函数参数的应用重点与难点:1、指针与地址的基本概念2、指针与变量的关系3、指针与函数2021/9/202本章主要内容:8.1变量的地址8.2指针变量8.3对指针的操作8.4指针与函数第八章指针2021/9/2038.1变量的地址main(){floatx;inty;…}变量的两个物理意义200020012002200320042005…xy变量的

2、内容变量的地址2021/9/204main(){inta,b,c;a=5;b=3;c=a+b;…}200020012002200320042005abc5直接将整数5存入变量a3直接将整数3存入变量b8直接将变量a、b的值取出,相加后存入变量c利用变量名存取数据的方式称为“直接存取”方式。8.1变量的地址2021/9/205C语言还提供了对内存单元的“间接存取”方式p20002001200220032004200520062007abc532004a和b相加的结果(*p=a+b)存放到变量p所指向的内存单元中去。此时c称为指针变量p的目标

3、变量。p2004cp=&c8main(){inta=5,b=3,c,*p;p=&c;*p=a+b;…}8.2指针变量8.2.0指针变量的概念●变量的地址称为变量的指针●存放地址的变量称为指针变量2021/9/2068.2指针变量8.2.1指针变量的定义定义指针的一般形式为:类型名*指针变量名1,*指针变量名2,……;例如:int*p,*q;p和q都是用户标识符。每个变量前的(*)是一个说明符,说明该变量是指针变量,(*)不能省略。int是类型名,在这里说明了p和q是两个指向整型变量的指针,也就是说p和q中只能存放int类型变量的地址。这时

4、我们称int是指针变量p和q的”基类型”。2021/9/2078.2.1指针变量的定义2021/9/2088.2.1指针变量的定义2021/9/2098.2指针变量8.2.1指针变量的定义再如:char*ch;float*s,*t;指针ch的基类型是char类型,所以ch中只能存放char类型变量的地址。同理指针s和t中只能存放float类型变量的地址。2021/9/20108.2指针变量8.2.1指针变量的定义int**p,*s,k=20;s=&k;p=&s;指向指针的指针变量95212021psk2012201395214567202

5、1/9/2011main(){inta,*p=&a;floatx,*q=&x;…}2000200120022003200420052006200720082009apxq20048.2指针变量8.2.2给指针变量赋地址值2000main(){inta,*p;floatx,*q;p=&a;q=&x;…}指针变量定义的形式指针变量初始化2021/9/20128.2指针变量8.2.3给指针变量赋“空”值给指针变量赋“空”值的语句如下:p=NULL;NULL是在stdio.h头文件中的预定义符,因此在使用NULL时,应该在程序前面写上预定义行:#

6、incklude“stdio.h”NULL的代码值为0,所以以上语句可以等价为:p=0;或者p=‘’;这时,指针就是并不是指向地址为0的存储单元,而是具有一个确定的值“空”,如果通过业个空指针去访问一个存储单元时,将会得到一个出错的信息。2021/9/2013main(){inta,*p=&a;floatx,*q=&x;*p=5;printf("a+3=%d",*p+3);…}间接存取运算2000200120022003200420052006200720082009apxq20048.3对指针的操作8.3.1引用存储单元2000

7、*p=&a;×main(){inta,*p;floatx,*q;p=&a;q=&x;…}赋值运算52021/9/20148.3对指针的操作2021/9/20158.3对指针的操作2021/9/20168.3对指针的操作2021/9/20178.3对指针的操作2021/9/20188.3对指针的操作2021/9/20198.3对指针的操作2021/9/20208.3对指针的操作2021/9/20218.3对指针的操作2021/9/20228.3对指针的操作例8.1有以下程序main(){inta=7,b=8,*p,*q,*r;p=&a;q=

8、&b;r=p;p=q;q=r;printf(″%d,%d,%d,%d″,*p,*q,a,b);}程序运行后的输出结果是——————A)8,7,8,7B)7,8,7,8C)8,7,7,8D)7,

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

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

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