《指针和引用》PPT课件

《指针和引用》PPT课件

ID:36899683

大小:545.60 KB

页数:38页

时间:2019-05-10

《指针和引用》PPT课件_第1页
《指针和引用》PPT课件_第2页
《指针和引用》PPT课件_第3页
《指针和引用》PPT课件_第4页
《指针和引用》PPT课件_第5页
资源描述:

《《指针和引用》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第8章指针和引用本章主要内容8.1指针和指针变量8.2指针运算8.3指针和数组8.4指针数组和多级指针8.5指针和函数8.6new和delete运算符8.7引用和其他类型的指针8.8简单链表8.9类型定义8.1指针和指针变量8.1.1指针的概念8.1.2指针变量的说明8.1.1指针的概念指针:一个变量的地址,一个内存单元的地址。变量的地址:该变量所占存储单元的首地址。变量的值:内存单元中的内容。变量地址的表示:&变量名。&:取地址运算符。指针变量:专门存放变量地址的变量。8.1.2指针变量的说明指针变量与其他类型的变量一样,必

2、须先说明后使用,说明格式为:《存储类型》<类型>*<变量名1>,*<变量名2>…;其中,存储类型是可任选的;变量名前的星号*指明所说明的变量为指针变量;而类型则指出指针变量所指向的数据类型。1.指针的类型从语法的角度看,只要把指针声明语句里的指针名字去掉,剩下的部分就是这个指针的类型。2.指针所指向的数据类型当通过指针来访问指针所指向的内存区域时,指针所指向的类型决定数据类型。了编译器将把那片内存区里的内容当做什么来看待。8.2指针运算8.2.1指针的赋值运算8.2.2指针的算术运算8.2.3指针的关系运算8.2.1指针的赋值

3、运算指针赋值运算常见的形式如下。(1)将一个变量的地址以&运算的结果形式赋给一个同类型的指针。(2)将另一同类型的指针值赋给某一指针(3)在C++中可以将0赋给任一指针变量,其含义是初始化指针变量,使其值为“空”。例8-1指针的赋值运算例8-2指针的赋值运算例8-3指针的赋值运算8.2.2指针的算术运算左值所能进行的算术运算有两种:一是指针变量与一个整数的加或减运算;二是自增、自减运算。1.与整数的加或减运算如果指针变量的定义为datatype*p;p初始地址值为DS,那么p+n=DS+nsizeof(datatype)。指

4、针加法的单位是指针对应类型的字节数。例8-4与整数的加或减运算2.指针的自增或自减指针的自增或自减表示指针从当前位置向后或向前移动sizeof(数据类型)长度的存储单元,指向下一个或上一个元素例8-5指针的自增或自减8.2.3指针的关系运算指针变量可以进行关系运算,两个指针变量的关系运算是根据两个指针变量值的大小(作为无符号整数)来进行比较的,通常只有同类型的指针变量进行比较才有意义。相等(==)比较的含义是判断两个指针变量是否指向相同的内存单元,即两个指针值是否相同;而不等比较(<、>、<=、>=)的含义是判断两个指针变量是

5、否指向不同的内存单元在C++中,同一个符号可能表示不同的运算符。编译器根据运算符的优先级、操作数的类型及个数来区分的。例8-6指针的关系运算例8-7混合运算及其优先级8.3指针和数组8.3.1指针与一维数组8.3.2指针与多维数组8.3.3指针和字符串8.3.1指针与一维数组如图8.3所示,定义一个数组a[10]和一个指针pa。inta[10],*pa;pa=a;//Apa=&a[0];//BA、B行的效果是一样的,都是把数组的首地址赋给指针。引用一个数组元素,有3种方法:(1)下标法:a[i]。(2)数组名地址法:*(a+i

6、)。(3)指针法:指针地址法:*(pa+i)指针下标法:pa[i]图8.3一维数组与指针示意图例8-8一维数组与指针8.3.2指针与多维数组在C++中,二维数组的各个元素值按行的顺序在一片连续的内存空间中存放。行数组首地址a,相当于&a[0]。行元素a[i]即为*(a+i),实际为各列数组首地址。各列数组首地址a[i],相当于&a[i][0]。列元素地址&a[i][j],可用a[i]+j或者*(a+i)+j表示。图8.4所示为二维数组与指针的关系示意图。图8.4二维数组与指针关系示意图例8-9二维数组与指针例8-10用指针变量

7、输出二维数组8.3.3指针和字符串用字符指针表示字符串有3种方法:(1)指向字符数组,让字符指针与存放字符串的字符数组关联,就可以用字符指针表示该字符串。(2)直接定义指针并初始化,让它指向指定的字符串。(3)直接将字符串常量赋予字符指针例8-11指针与字符串8.4指针数组和多级指针8.4.1指针数组8.4.2指向一维数组的指针变量8.4.3多级指针8.4.1指针数组指针数组是指针变量的集合,它的每一个元素都是一个指针,且具有相同的数据类型。其一般的定义格式为:《存储类型》<数据类型>*<指针数组名>[<元素个数>];数据类型

8、是指针所指向变量的数据类型。因为“[]”的优先级高于“*”,指针<数组名>与[<元素个数>]构成一个数组,再与*结合,指明是一个指针数组,数据类型指明指针数组中每个元素所指变量的类型。例8-13指针数组输出例8-14将字符串降序后输出8.4.2指向一维数组的指针变量可以声明一

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

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

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