网站大量收购独家精品文档,联系QQ:2885784924

c++编程导论 第五章 指针的应用.ppt

  1. 1、本文档共76页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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 通过指针变量访问单一变量;

文档评论(0)

锦绣中华 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档