第10章指针1.ppt

第10章指针1.ppt

ID:48809608

大小:804.50 KB

页数:53页

时间:2020-01-27

第10章指针1.ppt_第1页
第10章指针1.ppt_第2页
第10章指针1.ppt_第3页
第10章指针1.ppt_第4页
第10章指针1.ppt_第5页
资源描述:

《第10章指针1.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第10章指针本章主要内容:1.指针的基本概念2.各种类型的指针:数组的指针、字符串的指针、函数的指针、指针的指针等指针的优点:(1)可有效地表示复杂的数据结构;(2)动态分配内存;(3)方便地使用字符串,数组;(4)直接处理内存地址等。指针的缺点:概念繁杂,使用时较灵活,不易掌握。§10.1地址和指针的概念在计算机中,所有的数据都是存放在存储器中的。一般把存储器中的一个字节称为一个内存单元,不同的数据类型所占用的内存单元数不等,如整型量占2个单元,字符量占1个单元等。为了正确地访问这些内存单元,必须为每个内存单元编上号。根据一个内存单元的编号即可准确

2、地找到该内存单元。内存单元的编号也叫做地址。既然根据内存单元的编号或地址就可以找到所需的内存单元,所以通常也把这个地址称为指针。变量与地址程序中:shorti;floatk;内存中每个字节有一个编号-----地址…...…...2000200120022005内存02003ik变量是一块存储空间变量的地址就是指针§10.1地址和指针的概念一、关于内存内存单元的指针和内存单元的内容是两个不同的概念。对于一个内存单元来说,单元的地址即为指针,其中存放的数据才是该单元的内容。在C语言中,允许用一个变量来存放指针,这种变量称为指针变量。因此,一个指针变量的值

3、就是某个内存单元的地址或称为某内存单元的指针。二、关于变量的访问1.直接访问:根据变量名直接访问变量。inti;i=3;printf(“%d”,i);2.间接访问:将变量的地址存放于另一变量问题:如何获得一个变量的地址?如何保存一个变量的地址?如何获得一个变量的地址?&取地址运算符。inta;则&a获得变量的地址如何保存一个变量的地址?将变量的地址放在另一个(变量)中三、若干术语1.指针:一个变量的地址,称为该变量的指针。2.指针变量:专门用来存放另一变量的地址(指针)的变量,称为指针变量。3.指向:指针变量指向变量。a&aptpt指向a§10.2变

4、量的指针和指向变量的指针变量一、指针变量的定义一般形式:类型标识符*标识符;例如:float*pf;int*p1,*p2;说明:(1)定义时,标识符前面的“*”表示该变量为指针变量,上例中变量名为p1,p2。(2)类型标识符指出p1、p2所指向的变量的类型。二、指针变量的引用两个相关运算符:1.&取地址运算符。例:inta,*pt;若:pt=&aapt2.*指针运算符(间接访问运算符)*pt为指针变量pt所指向的变量.*pt等价于a*pt=10;相当于a=10pt指向a例:main(){inta,b;int*pointer_1,*pointer_2;

5、a=100;b=10;pointer_1=&a;pointer_2=&b;printf(“%d,%d”,a,b);printf(“%d,%d”,*pointer_1,*pointer_2);}abpointer_1pointer_210010&a&b例:输入两个整数a,b,按大小顺序输出。main(){inta,b,*p1,*p2,*p;scanf(“%d%d”,&a,&b);p1=&a;p2=&b;if(a

6、*p1,*p2);}abp1p234&bp&a&a&b&a注意:1、指针变量必须先赋值,再使用,只能保存地址例如:int*p,*p1,a=10;*p=20;printf(”%d”,*p1);3、&和*运算符互为逆运算若:inta=10,*pt=&a;则:&a、pt、&*pt是等价的则:*&a、*pt、a是等价的2、一个指针变量只能指向同一类型的变量。inta,*p;floatf;p=&f;三、指针变量作为函数参数实参形参:传去的是地址值,分占不同空间。1、指针变量作形参,在函数内部可以改变函数外部变量的值例:输入两个整数,从大到小输出。voidsw

7、ap(int*,int*);main(){inta,b;int*p1,*p2;scanf(“%d,%d”,&a,&b);p1=&a;p2=&b;if(a

8、t*pmin){inti;*pmax=*pmin=a[0];for(i=1;i

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

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

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