六章数组、指针和字符串.ppt

六章数组、指针和字符串.ppt

ID:58048957

大小:1.16 MB

页数:75页

时间:2020-09-04

六章数组、指针和字符串.ppt_第1页
六章数组、指针和字符串.ppt_第2页
六章数组、指针和字符串.ppt_第3页
六章数组、指针和字符串.ppt_第4页
六章数组、指针和字符串.ppt_第5页
资源描述:

《六章数组、指针和字符串.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C++语言程序设计第二指针第六章数组、指针、字符串1教学要求:1.掌握数组的概念和使用;2.掌握指针的概念、运算、指针数组和对象指针;3.掌握动态内存分配的应用;4.掌握字符串的应用;教学重点:1.数组的声明、存储,数组作为参数和对象数组2.指针的声明、运算,处理数组元素,对象指针3.new运算和delete运算教学难点:1.指针的概念2.指针作为函数参数,处理数组元素,对象指针2第六章数组指针与字符串教学目的:通过本章的学习,学生应掌握使用数组;掌握字符串数据的组织和处理;掌握指针的概念和使用方法;掌握派生类的声明;继承中的访问

2、控制。教学重点:派生类的声明;继承中的访问控制。教学难点:不同继承方式下对基类成员的访问控制教学手段:电子教案3本章主要内容数组指针动态存储分配指针与数组指针与函数字符串4§6.2指针(关于内存地址)§6.2.1内存空间的访问方式地址编码存储单元的地址基本内存单元从内存单元存取数据的 方法通过变量名访问通过地址访问地址存储结构简图地址译码器数据5§6.2.1指针变量的概念指针和指针变量 的概念①指针:在C和C++中,将地址形象化地称为“指针”。一个变量的地址称为该变量的“指针”。②指针变量:专门用来存放地

3、址的变量叫做“指针变量”。内存用户数据区变量i变量j变量i_pointer3620002000200430106§6.2.2指针变量的应用指针变量应用的步骤:1.声明指针变量2.给指针变量赋值3.引用指针变量7指针变量的声明定义指针变量的一般形式为:§6.2.3指针变量的定义与应用数据类型*指针变量名例如:int*pointer_1;float*pointer_2;指针变量前面的“*”,表示该变量的类型为指针型变量。“数据类型”可以是任意类型,用来指定该指针变量所指向的变量的类型,称之为指针的类型。专门用来存放int型数

4、据的地址专门用来存放float型数据的地址8指针变量的赋值声明一个指针变量,未赋值时其中的地址值是一个随机的数。因此声明指针变量之后必须先赋值,才可以使用。例如:指针变量pointer_1用来存放指向int型变量的指针pointer_2存放指向float型变量的指针。①声明时同时初始化:数据类型*指针变量名=地址;②使用赋值语句赋值:数据类型*指针变量;指针变量=地址;9§6.2.4指针变量的赋值“&”是取地址运算符,用来获取一个变量的地址。将获取的变量的地址赋值给指针变量。不能把普通非0整数赋值给指针变量。指针变量的定义

5、与应用inti,*pointer_1;pointer_1=&i;/*将变量i的地址存放到指针变量pointer_1中,因此pointer_1就   “指向”了变量i*/pointer_1&iipointer_1=2000;pointer_1=0;10指针变量的赋值使用变量地址赋值时,该变量必须在赋值之前已声明过,且变量类型应与指针类型一致。可以用一个已赋值的指针变量去赋值给另一个指针变量。数组名代表数组的起始地址,可以将数组名表示的地址赋值给指针变量指针变量的定义与应用intarray[10],*p1;p1=array;i

6、nti,*p1,*p2;p1=&i;p2=p1;floatf;int*p;p=&f;类型不一致11指针变量的赋值一般情况下,一种类型的指针变量只能存放相同类型的变量的地址。特殊的void类型的指针,可以存放任何类型的变量的地址。经过类型强制转换,void类型的指针可以访问任何类型的数据。指针变量的定义与应用void*p1;inti,*p2;p1=&i;p2=(int*)p1;可以访问任何类型的数据指针忘了赋值比整型变量忘了赋值危险得多。例:intcount;int*iPtr;*iPtr=58;iPtr当前指向什么地方?该代码

7、能通过编译,但没有赋初值的指针iPtr是一个随机地址。“*iPtr=58;”是把58赋到内存中的随机位置,因此很可能已经破坏了另一变量,甚至修改了栈中的函数返回地址,计算机将死机或进入死循环。指针没有赋值这样非常危险12指针变量的引用“*”是指针运算符,表示指针所指向的变量。指针变量的定义与应用inti,*p;p=&i;pi*p23&ii=2;/*通过变量名直接访问*/*p=3;/**p是p所指向的变量,即变量i,这     是通过指针的间接访问*/p是指针变量,*p就是p所指向的变量i,即*p等价于变量i。13指针变量的引

8、用指针变量的定义与应用注意:“*”出现在声明语句中和执行语句中含义不同。1、“*”出现在声明语句中,表示声明的变量是指针变量。例如:int*p;2、“*”出现在执行语句中,表示访问指针所指向的变量。例如:*p=3;printf(“%d”,*p)

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

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

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