- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第07章 指针 上一章已提到过指针,还给出使用指针的提示。本章深入探索这个主题,了解指针的功用。 本章将介绍许多新概念,所以可能需要多次重复某些内容。本章很长,需要花一些时间学习其内容,用一些例子体验指针。指针的基本概念很简单,但是可以应用它们解决复杂的问题。指针是用C语言高效编程的一个基本元素 。 7.1 计算机绘图相关知识 指针是C语言里最强大的工具之一,它也是最容易令人困惑的主题,所以一定要在开始时正确理解其概念,在深入探讨指针时,要对其操作有清楚的认识 。 声明指针 通过指针访问值 使用指针 指向常量的指针 常量指针 指针的命名 7.1.1 声明指针 以下语句可以声明一个指向int类型变量的指针: int *pointer; pointer变量的类型是int *,它可以存储任意int类型变量的地址。这条语句创建了pointer,但没有初始化它。未初始化的指针是非常危险的,所以应总是在声明指针时对它进行初始化。 7.1.2 通过指针访问值 使用间接运算符*可以访问指针所指的变量值。这个运算符也称为取消引用运算符(dereferencing operator),因为它用于取消对指针的引用 。 7.1.3 使用指针 可以通过指针pointer访问number的内容,所以可以在算术语句中使用取消引用的指针,例如: *pointer += 25; 上述语句将变量pointer所指向的地址中的值增加25。星号*表示访问pointer变量所指向的内容。这里它是变量number的内容。 7.1.4 指向常量的指针 声明指针时,可以使用const关键字指定,该指针指向的值不能改变。下面是声明const指针的例子: long value = 9999L; const long *pvalue = value; /* Defines a pointer to a constant */ 把pvalue指向的值声明为const,所以编译器会检查是否有语句试图修改pvalue指向的值,并将这些语句标记为错误 。 7.1.5 常量指针 当然,也可以使指针中存储的地址不能改变。此时,在指针声明中使用const关键字的方式略有区别。下面的语句可以使指针总是指向相同的对象: int count = 43; int *const pcount = count; /* Defines a constant */ 7.1.6 指针的命名 我们已经开始编写相当大的程序了。程序越来越大,就越难记住哪个是一般变量,哪个是指针。因此,最好将p作为指针名的第一个字母。如果严格遵循这个命名方法,肯定很清楚哪个变量是指针 。 7.2 数组和指针 下面复习一下什么是数组,什么是指针: 数组是相同类型的对象集合,可以用一个名称引用。例如,数组scores[50]可以含有50场篮球季赛的比分。使用不同的索引值可以引用数组中的每个元素。scores[0]是第一个分数,scores[49]是最后一个分数。如果每个月有10场比赛,就可以使用多维数组scores[12][10]。如果一月开始比赛,则五月的第3场比赛用scores[5][2]引用。 指针是一个变量,它的值是给定类型的另一个变量或常量的地址。使用指针可以在不同的时间访问不同的变量,只要它们的类型相同即可 。 7.3 多维数组 前面讨论的都是一维数组,它和二维或多维数组是否相同?它们在某种程度上是相同的。然而,指针和数组名称之间的差异变得更为明显。考虑第5章末尾在井字程序中使用的数组 。 多维数组和指针 访问数组元素 7.3.1 多维数组和指针 前面通过指针的表示法用数组名称引用二维数组,现在学习使用声明为指针的变量。如前所述,这有非常大的区别。如果声明一个指针,给它指定数组的地址,就可以用该指针访问数组的成员 。 7.3.2 访问数组元素 可以使用几种方法访问二维数组的元素。表7-1列出了访问board数组的方法。最左列包含board数组的行索引值,最上面的一行包含列索引值。表中对应于给定行索引和列索引的项列出了引用该元素的各种表达式 。 7.4 内存的使用 指针是一个非常灵活且强大的编程工具,有非常广泛的应用。大多数C
文档评论(0)