- 1、本文档共76页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章 指针的应用;第五章 指针的应用;第五章 指针的应用;§5.1 指针的概述;§5.1 指针的概述;§5.1 指针的概述;§5.1 指针的概述;§5.1 指针的概述; 6.在C++ 程序中是如何从内存单元中存取数据的呢
(1)是通过变量名,称为直接访问方式,直接对变量的存储单元进行存取访问。在变量获得内存空间的同时,变量名也就成为了相应内存空间的名称,在变量的整个生存期内都可以用这个名字访问该内存空间,表现在程序语句中就是通过变量名存取变量内容。
例如:[例5.1.1]中,用语句:
couta的值表示方法1:aendl;
来输出变量a的值。 ;(2) 是通过地址,称为间接访问方式,先找到存放变量的地址的变量,得到变量的地址,再根据变量的地址找到变量的存储单元,对它进行存取访问。 例如:[例5.1.1]中,用语句:
couta的值表示方法2:*pendl;
来输出变量a的值。
(3) 有时使用变量名不够方便或者根本没有变量可用,这时就需要直接用地址来访问内存单元。例如,在不同的函数之间传送大量数据时,如果不是传递变量值,而是只传递变量的地址,就会减小开销,提高效率。如果是动态分配的内存单元,则根本就没有名称,这时只能通过地址访问。 ;§5.1 指针的概述; (1) 变量的地址可以用表示。例如, i表示变量i的地址。
(2) 数组的地址, 即数组第一个元素的地址, 可以直接用数组名表示。例如, a或a[0]。
(3) 函数的地址用函数名表示。(关于函数的概念将在下一章学习)
; 1.如何使用指针呢?
(1) 由于指针是一种数据类型,是包含另一个变量地址的变量,指针也是一个变量,应遵循先定义,后使用。
(2) 定义指针类型是由该指针指向的变量类型决定。
定义指针变量的一般格式如下:
① ?定义语句中的“*”表示该变量为指针变量。 ; ②??数据类型标识符规定了指针变量指向的数据类型
例如:
[例5.1.1]中,定义语句:
int *p;
“*”表示该变量p为指针变量;且指针变量p只能操作整型数据。; 2.指针变量的初始化的常用形式:
与变量定义一样,定义好指针变量后也可以对它进行初始化,指针变量可以初始化为0、NULL或一个地址。数值为0或者NULL的指针不指任何内容。数值0是可以直接赋给指针变量的唯一整数值。
(1) 指针变量的初始化常用的第一种形式:
在定义指针变量的同时进行初始化赋值,一般格式如下:
数据类型 *指针名=初始地址; ; 例如:
int a=3;
int *pa=a;
(2) 指针变量的初始化常用的第二种形式:
定义指针变量后,用赋值语句将其初始化。
指针变量名=地址; 可以是变量的地址、数组名、函数名等。
例如:先定义:int *p;
再用赋值语句:p=x;;(3) 使用时注意事项:
①指针的类型是它所指向变量的类型。
②已赋初值的指针可以初始化另一个指针变量。
例如:q=p; 由于p已经有值,可以来初始化q。
③用变量地址作为初值时,该变量的定义必须在指针初始化之前定义。
例如:[例5.3.1]中,
int a=3; int *pa=a;
int x;int *p;p=x;
变量的定义一定要在指针定义之前。; ④不能把常量或表达式的地址赋给指针变量。 例如:P=67;P=(i+5)是非法的。
⑤不能将一个非0整数直接赋给指针变量,但可以赋整数值0,表示该指针为空指针。
例如:int *p; p=0; p为空指针,不指向任何地址。
⑥允许声明指向 void 类型的指针,该指针可以被赋予任何类型对象的地址。
例如: void *general;
int *point; int i;
general=i; point=( int *) general; ; 3.使用时要注意指针与指针变量的区别:
指针是内存单元的地址,简称地址。
指针变量是用于存储变量地址的变量。
; 1.为了使用指针变量,要掌握两个运算符:
(1) 指针运算符*,也称为“间接访问”运算符,是一个一元运算符,表示指针变量所指向的变量的值。
(2) 取地址运算符,是一个一元运算符,用来得到一个对象的地址,例:x,取变量x的地址。取地址运算符的操作数必须是变量名。
2.使用指针变量与使用一般变量一样,一定要先定义后使用,使用前,指针变量一定要有明确的指向,例如,int *p;,p=x;明确指向变量x的地址。 ;§5.3 通过指针变量访问单一变量;
您可能关注的文档
- 中考文言文复习《观潮》《湖心亭看雪》.ppt
- 中考一轮复习依法享有智力成果权消费者权.ppt
- 中考作文指导优秀.ppt
- 中科院云计算中心精简版.ppt
- 中小企业的生存之道,经销商,电子商务的挑战,创业之道.ppt
- 中小学班班通建设与应用的开题报告.ppt
- 中学生心理健康班会家长会.ppt
- 中学易混字音.ppt
- 中央财经大学审计学 第十一章 函证.ppt
- 中央企业财务信息化廖家生.ppt
- 河北省定州中学2017-2018学年高二(承智班)下学期期中考试物理试题.doc
- Unit3TheInternetkeywordslanguagepoints知识点讲解课件高中英语人教版(2020).pptx
- 2025年中考语文一轮专题复习名著导读《红岩》.docx
- Unit1GrowingUpUsinglanguageReading课件高二英语选择性.pptx
- 5.1硫及其化合物(第一课时)课件高一下学期化学人教版 3.pptx
- 黑龙江省教育学会示范性高中专业委员会高三下学期第一次模拟考试生物试卷.docx
- 一切都是最好的安排课件山东省邹城市第一中学高三下学期二模考试分析家长会.pptx
- 2024年中考物理一轮复习课件电路识别与作图电路故障分析【03】.pptx
- Unit2SpecialDaysLesson1(课件)人教新起点版英语五年级下册 4.pptx
- Unit5LanguagesaroundtheWorldReadingandThinking课件高一上学期英语人教版.pptx
文档评论(0)