语言程序设计指针.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
语言程序设计指针

第11章 指针 C语言的特色之一、也是其精华所在就是指针。使用指针可以实现以下用其它方法不易实现的操作:对内存中的数据进行处理,而不管这些数据的类型;在函数之间快速地传递数据;直接处理内存地址。这种方法增强了C语言的处理能力、提高了程序的执行效率,尤其是适合系统软件的开发,也极大地增强了程序的灵活性。指针不仅不易理解,而且使用不当会带来严重的错误。可以说,是否掌握指针,是业余爱好者与专业程序员的分水岭。 学好指针,关键是理解其概念与操作原理。 11.1 指针的基本概念 11.2 指针变量的运算 11.3 数组指针变量的说明和使用 11.4 字符串指针变量的说明和使用 11.5 函数指针变量 11.6 指针型函数 11.1 指针的基本概念 11.1.1 了解指针 在计算机中,所有的数据都是存放在存储器中的。为了正确地访问这些内存单元,必须为每个内存单元编上号。根据一个内存单元的编号即可准确地找到该内存单元。内存单元的编号也叫做地址。通常也把这个地址称为指针。 对于一个内存单元来说,单元的地址即为指针,其中存放的数据才是该单元的内容。通常用一个变量来存放指针,这种变量称为指针变量。因此,一个指针变量的值就是某个内存单元的地址或称为某内存单元的指针。 11.1.2 指针变量的类型说明 对指针变量的类型说明包括三个内容: 指针类型说明,即定义变量为一个指针变量; 指针变量名; 变量值(指针)所指向的变量的数据类型; 其一般形式为: 类型说明符 *变量名; 其中,*表示这是一个指针变量,变量名即为定义的指针变量名,类型说明符表示本指针变量所指向的变量的数据类型。 例如: int *p; 表示p是一个指针变量,它的值是某个整型变量的地址。或者说p指向一个整型变量。至于p究竟指向哪一个整型变量,应由向 p赋予的地址来决定。再如: static int *p; /* p是指向静态整型变量的指针变量 */ float *p; /* p是指向浮点变量的指针变量 */ char *p; /* p是指向字符变量的指针变量 */ 指针变量本身一定是整数(就像房间号一样),类型差别只是所指地址中存放的数据的差别。 指针应具有“始终如一”的特点,也就是说,一个指针变量只能指向同类型的变量,不能时而指向一个浮点变量,时而又指向一个字符变量。这就好比商品的标签一样,贴计算机的标签不能贴在化妆品。 11.1.3 指针变量的赋值 指针变量也是变量,所以与普通变量同样,必须在使用前赋值。未经赋值的指针变量不能使用。当然,指针变量的赋值只能赋予地址,而不能赋予其它数据。因为变量的地址是由编译系统分配的,所以用户不知道变量的具体地址。因此,通过与变量之间的关系来确定它的值。引入地址运算来表示变量的地址。其一般形式为: 变量名; 如a变示变量a的地址,b表示变量b的地址。变量本身必须预先说明。设有指向整型变量的指针变量p,如要把整型变量a的地址赋予p可以有以下两种方式: (1) 指针变量初始化的方法 int a; int *p=a; (2) 赋值语句的方法 int a; int *p; p=a; /* 不能写为*p=a */ 不允许直接把一个数赋予指针变量,作为变量的值。下面的赋值是错误的: int *p; p=23; 在赋值语句中,被赋值的指针变量前不能再加“*”说明符,如写为*p=a也是错误的。 11.2 指针变量的运算 指针变量可以进行某些运算,但其运算的种类是有限的。它只能进行地址、赋值及很少一些算术运算和关系运算。 11.2.1 指针运算符 1 取地址运算符 其功能是取变量的地址。是单

文档评论(0)

junjun37473 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档