全国计算机等级考试培训教材(二级C)课件 ch09 指针.pptx

全国计算机等级考试培训教材(二级C)课件 ch09 指针.pptx

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

计算机等级考试第九章指针高等院校公共课系列精品教材

地址与指针01ONE

9.1地址与指针考点1指针的概念与指针变量指针就是地址。地址是什么?如果程序中定义了一个变量,当编译时,系统就会给变量分配内存单元。不同的数据类型,分配的单元长度不同。(2)指针变量是用来存储地址的变量,而一般变量是用来存储数值的。指针变量存放的是变量的首地址。(3)变量的访问:定义了指针变量,就有两种访问变量的方式。①直接访问:变量中直接存储数据。②间接访问:指针变量中存放的是变量的地址,通过地址再取出变量的值,这种为间接寻址。

指针变量02TWO

9.2指针变量考点2指针变量的定义指针变量的定义格式如下:类型*标识符例如:int*i_pointer,含义:指针变量为i_pinter,指向的变量为整型变量,即只可以把整型变量的地址赋值给指针变量。说明:(1)定义时“*”是指针标量的标识符,不可省略。“*”是标识符,不是变量的组成部分,即変量是i_pointer。(2)相同类型的指针变量可以在一个说明语句中定义,但每个变量前都需要有指针标识符“*”。

9.2指针变量考点3指针运算符指针运算符主要包括取地址符“”和取内容符“*”。(1)“”是取地址符号。它的一般格式:变量名。(2)“*”是取值运算符。他的一般格式:*指针变量名。说明:(1)“*”在算数表达式中是乘号,在指针变量定义时是指针标识符,在指针运算符中是取值运算符。(2)变量定义时,变量以外的信息表示变量的性质。运算时,要用变量本身去操作。

9.2指针变量考点4指针变量的初始化指针使用的原则是“先定义,后初始化,再运算”,指针变量在使用前必须初始化,把一个具体的地址赋给它,否则引用时会出错,如果不指向任何数据就赋空值“NULL”。指针变量两种初始化方法如下。(1)定义的同时初始化:inta=2,*p=a;(2)先定义后初始化inta=2,*p;p=a;说明:p是指针,只能存放地址,p=100是错误的,*p=100是正确的。因为*p取的是里面的值,即i的值,等价于i=100。

9.2指针变量考点5指针的运算1.赋值运算赋值运算的3种情况如下。第1种:通过将变量的值赋值给指针变量。第2种:将已有指针变量给指针变量赋值或者变量首地址(数组、字符串等),要求基类型相同。第3种:空指针NULL,系统设置好的标识,指向0。2.指针与整数加减运算对于数组,通过指针加1,可以实现指针移动到下一个元素。3.指针间减法运算对于指向相同数组的两个指针相减,可以求出隔几个元素。4.*p++和(*p)++的差别*p++是地址变化,按从右向左结合,*(p++),先求出*p所指变量的内容,指针p再向后移动。(*p)++,先求出*p单元的内容,然后将变量内容进行自加运算。

指针与数组03THREE

9.3指针与数组考点6指针与一维数组数组名代表数组的首地址。一维数组中,第一个元泰的地址即为该数组的起始地址。建立指针变量与一维数组的联系,一般就是将指针指向数组的首地址。例如:intal6],*pa;pa=a;或pa=a[0];说明:①数组名a代表该数组的首地址,即a[0]的地址。②pa=a;或pa=a10];使pa保存了数组a的首地址,pa,a,a[0]都指向一个地址。③以上操作可等价于inta[6],*pa=a。④如果pa=a[3];,则表示*pa的值就是a[3]的地址。注意:数组a是一个地址常量,它永远指向数组的首地址,不能重新赋值。因此,a=i;或a++都是错误的。

9.3指针与数组考点7用指针访问数组元素(1)通过指针引用数组元素,例如:int*p,a[5];p=a[0];说明:①指针变量p指向了数组元素a[0],可以使用访问运算符“*”来引用变量a[0],如*p=18;等价于a[0]=18;。②*(p+1)表示a[1],p+1表示a[1]。(2)通过数组的首地址引用数组元素,例如:Inta[5];说明:①a是数组名,表示收地址,可以把a当成一个指针常量。②*a等价于a[0],*(a+1)等价于a[1];a等价于a[0],a+1等价于a[1];。(3)用带下标的指针变量引用一维数组元素,例如:int*p,a[5];p=a;说明:①p[0]表示p指针指向的内存单元,p[1]表示p指向的内存单元。②a[i]的等价引用方法:a[i]、p[i]、*(a+i)、*(p+i)。③a[i]的地址等价引用方法:a[i]、p[i]、a+i、p+i.

9.3指针与数组考点8指针与二维数组任何一个二维数组均由若干个一维数组组成,a[0]、a[1]和a[2]是一维数组名,数组名代表数组的首地址,因此a[0]就代

文档评论(0)

xiaobao + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档