- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第五章 指针的应用 西南交通大学软件学院 计算机基础教研室 戴克俭制作 第五章 指针的应用 教学目标: 1.着重介绍指针与指针变量的概念; 2.指针类型变量的定义、赋值以及引用的方法; 3.指针与地址运算符; 4.通过指针类型的变量去访问单一变量; 5.通过指针类型的变量去操作一维数组; 6.通过指针类型的变量去操作二维数组; 7.动态存储分配的概念及应用。 第五章 指针的应用 教学内容: 1.掌握地址和指针的概念 2.掌握指针类型变量的定义、赋值以及引用的方法 3.掌握将一个变量或数组的地址赋给指针类型的变量 4.掌握指针操作相关的运算符; 5.掌握通过指针类型的变量去访问单一变量; 6.掌握通过指针类型的变量去操作一维数组; 7.理解通过指针类型的变量去操作二维数组; 8.理解动态存储分配的概念及应用。 §5.1 指针的概述 [例5.1.1]阅读如下程序: 源程序清单: #includeiostream using namespace std; void main( ) { int a; int *p; a=10; p=a; §5.1 指针的概述 couta的值表示方法1:aendl; couta的值表示方法2:*pendl; couta的地址表示方法1:aendl; couta的地址表示方法2:pendl; } 编程技巧: 在源程序清单中,我们可以看到在操作变量a时,用了不同的两种方法,一种就是用我们很习惯的变量名的方式操作,另一种就是本章要学习的新概念指针的方式操作。 §5.1 指针的概述 1.指针是C++从C 中继承过来的重要的概念,它提供了一种较为直观的地址操作的手段。正确地使用指针,可以方便 、灵活而有效地组织和表示复杂的数据结构。 2.利用指针可以进行动态内存分配和管理,可以更灵活地使用内存空间。 3.为了理解指针,要先理解关于内存地址的概念。计算机的内存储器就像一个巨大的一维数组, 每个数组元素就是一个存储单元。就像数组中的每个元素都有一个下标一样, 每个内存单元都有一个编号, 这个编号就称为内存单元的地址。在微型计算机,地址编码的基本单位是字节,每个字节是一个基本内存单元。 §5.1 指针的概述 4.在运行一个程序时, 程序本身及其所用到的数据都要放在内存储器中。程序、函数、变量、常数、数组和对象等, 在内存储器中都要占有一席之地。存放在内存储器中的程序和数据都有一个地址, 用它们占用的那片存储单元中的第一个存储单元的地址表示。 5.在C++中,为某个变量、函数常数、数组和对象等分配内存储器的工作由编译程序完成。计算机通过这种地址编号的方式来管理内存数据读写的准确定位。程序中声明的变量是要占据一定的内存空间的,不同的数据类型占用的字节数是不一样的,例如:char型占1个字节,short型占2个字节,int型和long型都占4个字节。如图5-1所示,表明了每一个内存单元都有自己的地址,在地址所标志的内存单元中可用来存放数据,一般称为内存单元的内容。 §5.1 指针的概述 §5.1 指针的概述 6.在C++ 程序中是如何从内存单元中存取数据的呢 (1)是通过变量名,称为直接访问方式,直接对变量的存储单元进行存取访问。在变量获得内存空间的同时,变量名也就成为了相应内存空间的名称,在变量的整个生存期内都可以用这个名字访问该内存空间,表现在程序语句中就是通过变量名存取变量内容。 例如:[例5.1.1]中,用语句: couta的值表示方法1:aendl; 来输出变量a的值。 §5.1 指针的概述 (2) 是通过地址,称为间接访问方式,先找到存放变量的地址的变量,得到变量的地址,再根据变量的地址找到变量的存储单元,对它进行存取访问。 例如:[例5.1.1]中,用语句: couta的值表示方法2:*pendl; 来输出变量a的值。 (3) 有时使用变量名不够方便或者根本没有变量可用,这时就需要直接用地址来访问内存单元。例如,在不同的函数之间传送大量数据时,如果不是传递变量值,而是只传递变量的地址,就会减小开销,提高效率。如果是动态分配的内存单元,则根本就没有名称,这时只能通过地址访问。 §5.1 指针的概述 1.如何通过地址来操作呢? 在C++中专门用一种数据类型,称为“指针”数据类型来表示“地址”,指针实际上是某个内存单元的首地址。一个变量在内存空间中占用的地址就称为该变量的“指针”。 2.程序中定义的任何变量、数组或函数等,在编译时都会在内存中分配一个确定的地址单元,即都有地址。 C++ 规定: §5.1 指针的概述 (1) 变量的地址可以用表示。例如,
您可能关注的文档
最近下载
- 最新时事政治必考试题库及答案详解【全国通用】.docx VIP
- 2025时事政治必考试题库(考点梳理)附答案详解.docx VIP
- 时事政治必考试题库及(2025年)及答案详解【考点梳理】.docx VIP
- 《中华人民共和国危险化学品安全法》解读及宣传培训.pptx VIP
- 阿特拉斯•科普柯 冷冻式干燥机.pdf VIP
- 2022-2023学年广东省中山市八年级(上)期末物理试卷(含答案).pdf VIP
- 2025年时事政治热点题库考试试题库及答案详解【考点梳理】.docx VIP
- GB∕T 39549-2020 纤维增强热固性复合材料化粪池(可复制版).pdf
- 2025年时事政治必考题库及答案详解(考点梳理).docx VIP
- 专题01++机械运动(期末复习课件)八年级物理上学期新教材人教版.pptx VIP
原创力文档


文档评论(0)