- 1、本文档共39页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数组与指针(必看标注版).pdf
1
Generated by Foxit PDF Creator © Foxit Software
For evaluation only.
前言
此文是笔者2005年所作《再再论指针》的修订版,与前文相比,本文主要的不同点有如下几点:
一、引用C/C++标准的条款去阐述原理。C与C++标准共有四个已发行的正式版本,分别是C89/C90、
C99、C++98 和C++2003 ,为了避免重复的条款引用,在文字或语义相同的情况下,笔者只引
用C99 的条款,遇到不同的情况时再分别引用。
二、加入了C++的内容。
三、增加或者合并了一些章节,同时修正了一些行文错误。
指针是C/C++的灵魂!它是C/C++众多引人入胜的特性中的一朵奇葩。与底层操作的亲密接触
是指针与生俱来的优点,利用指针可以写出许多短小精悍、效率极高的代码。它是C/C++一把无可替
代的利器,凭着这把利器,C/C++与其它高级语言相比至少在效率方面胜人一筹。
但是,由于数组与指针的原理与使用方式跟人们通常的思维习惯有较大差别,需要花较多的时间
进行消化,这使得对数组与指针的偏见和误解成为了普遍存在的现象,更出现了避免使用指针的思潮,
笔者认为这是非常不可取的。指针是如此犀利,正是它才使得C/C++语言威猛无比。如果就这样把它
放弃了,那么C/C++就算是白学了。我们应当让指针成为你手中那把砍掉索伦手指上魔戒的举世无双
的纳西尔圣剑,而不是你心中永远的魔戒。
与众多初学者一样,笔者对数组与指针的理解也经历了漫长的过程。初学C 的时候,笔者作为谭
书的受害者之一,与其它初学者一样脑袋中充满了对数组与指针各种各样的误解。后来随着对C/C++
理 解的深入,逐渐发现谭书中存在大量的谬误与漏洞,从此开始了纠偏的历程。这是一段痛并快乐
着的过程,痛是由于愤恨被谋杀了一段宝贵的时光,快乐是因为重新 找到了方向,相信不少朋友也
曾有过跟笔者相似的体会。在这段时间里,笔者查阅了大量的资料,也耗费了大量的时间进行深刻的
思考,还跟同事、朋友、网友进行 了大量的辩论,特别是2005 年,几乎整整一年的时间都是在激
烈的辩论中渡过的,当年这些辩论的激烈程度到现在还记忆犹新,如果当时手里有把枪的话,我想我
会开枪的!经过不断的思考、辩论、印证,再思考、再辩论、再印证,数组与指针的迷雾终于逐渐清
晰了起来。
本文的目的,是希望通过跟各位朋友一起讨论关于数组与指针的几个关键概念及常见问题,加
深对数组与指针的理解。笔者不敢奢望能够完全解开你心中的魔结,但如果通过阅读本文,能够让你
在日后的数组与指针使用过程中减少失误,笔者就心满意足了。
当你阅读本文后:
如果你有不同的意见,欢迎你在评论里留下自己的见解,笔者很乐意跟你一起讨论,共同进步。
如果你觉得我说的全都是废话,那么恭喜你,你的指针已经毕业了。
如果你有太多不明白的地方,那么我介绍你先找一些关于数组与指针的读物看看,笔者推荐你
阅读一本叫《C 与指针》的书,看完后再回来继续思考你的问题。
2
Generated by Foxit PDF Creator © Foxit Software
For evaluation only.
第一章 数组与指针概念剖析
数组与指针生来就是双胞胎,多数人就是从数组的学习开始指针的旅程的。在学习的过程中,很
自然就会经常听到或见到关于数组与指针的各种各样的看法,下面我节选一些在各种论坛和文章里经
常见到的文字:
“一维数组是一级指针”
“二维数组是二级指针”
“数组名是一个常量指针”
“数组名是一个指针常量”
这 些文字看起来非常熟悉吧?类似的文字还有许多。不过非常遗憾,这些文字都是错误的,实
际上数组名永远都不是指针!这个结论也许会让你震惊,但它的确是事 实。但是,在论述这个问题
之前,首先需要解
您可能关注的文档
- 怎样用纸叠小青蛙.pdf
- 怎样用纸折出漂亮的花.pdf
- 怎样用纸折叠小船.pdf
- 成品茶的分类.pdf
- 房屋增层合理结构形式的选择方法(中).pdf
- 手工DIY制作蝴蝶结礼物包装袋-华乐.pdf
- 折纸----如何折扑克牌花色之方片、红桃?.pdf
- 折纸----如何折扑克牌花色之黑桃、梅花?.pdf
- 折纸——心连心_百度经验.pdf
- 折纸——漂亮领结_百度经验.pdf
- 难点详解鲁教版(五四制)6年级数学下册期末测试卷带答案详解(考试直接用).docx
- 难点详解鲁教版(五四制)6年级数学下册期末试题【培优】附答案详解.docx
- 难点解析鲁教版(五四制)7年级数学下册期末试题及完整答案详解(全国通用).docx
- 难点解析鲁教版(五四制)7年级数学下册期末试题含完整答案详解(名师系列).docx
- 难点解析鲁教版(五四制)7年级数学下册期末试题含完整答案详解【全国通用】.docx
- 难点解析鲁教版(五四制)7年级数学下册期末试卷(突破训练)附答案详解.docx
- 难点解析鲁教版(五四制)7年级数学下册期末试卷(能力提升)附答案详解.docx
- 难点详解京改版数学9年级上册期中试卷附参考答案详解【突破训练】.docx
- 难点解析鲁教版(五四制)7年级数学下册期末试题含完整答案详解(有一套).docx
- 难点解析鲁教版(五四制)7年级数学下册期末试卷带答案详解(夺分金卷).docx
文档评论(0)