C语言中指针的研究与总结.docVIP

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言中指针的研究与总结 荆楚理工学院计算机工程学院 湖北·荆门 448000) 摘 要 指针在c语言学习中起着举足轻重的作用,c语言学的好不好关键在于对指针的掌握。本文介绍了指针学习的现状、引入指针的作用,并对c语言指针中较易混淆的概念进行了详细阐述,最后探讨了指针与数组、函数的关系和使用方法。 关键词 指针 c语言 数组 函数 study and summary on pointer in c language li xiangqin (school of computer science, wuhan university, wuhan, hubei 430079; school of computer engineering, jingchu university of technology, jingmen, hubei 448000) abstract pointer in c language learning plays an important role, the key is to master the pointer in c language. this article describes the learning status of pointer, the role of introduction of the pointer, and c language pointer more confusing concepts were elaborated, and finally explore the relationship between pointers and arrays, functions, and use. key words pointer; c language; array; function 0 引言 指针是c语言的精华,也是大学《c语言程序设计》①课程教学的重点与难点。通过使用指针变量可以较方便地使用字符串、数组,可以表示各种数据结构,从而能够编写出执行效率高、可读性强的程序,它在很大程度上增强了c语言的功能。 对于一个不涉及指针、只有程序设计结构、函数和数组的程序,许多学生在分析它时还觉得得心应手,一旦引入了指针,便不知所措。究其原因,对指针的理解只停留在表层,没有从较深层次去理解。指针的概念本身比较复杂,涉及指针与地址、普通变量与指针变量、指针与函数、指针与数组,使用也比较灵活,需要多思考、多总结、多上机,在实际操作中才能逐渐掌握。因此,如何学好c语言中的指针成了一个值得研究的课题,下面就几年来在实践教学过程中存在的想法进行总结和学习。 1 引用指针的作用 通过定义指针变量可以确定存储单元的地址和类型,如有int i, *p=i;则变量i与*p是等价的,在程序中可以用变量i和*p两种方式来访问存储单元。因此,指针变量是一种新的访问存储单元的方法,它的作用主要表现在三个方面: (1)能够突破变量作用域的限制。程序中通常把一部分代码放在一个函数中,基于函数的封闭性,有些操作我们不能在它的外部执行,比如利用函数交换两个实参的值。当使用指针变量作参数时,实参传递的是对应存储单元的地址,若利用形式参数直接访问对应存储单元,将会打破变量作用域的限制,可以在函数中使用外部的存储单元。 (2)可以提高函数的执行效率。形参相关的存储单元较大时,如结构体,函数执行中用实参赋值给形参将花费较多时间和存储空间。如果把形参的类型换成相应的指针类型,函数的执行效率则会大大提高。 (3)使用未命名的存储单元。内存中的堆存储空间在程序运行中是用户自己申请并指定大小,一般通过调用库函数来完成,没有变量直接参与,只能利用指针变量间接引用的方式实现。 2 指针中较易混淆概念的理解 2.1 指针变量和指针运算符 c语言中通过变量使用计算机中的内存,变量是内存中某块存储单元的标识,它用来存放数据,如整型变量存储整数,浮点型变量存储实数。指针变量也是一种变量,定义一个指针变量就会有一块存储单元与之对应,只是它存储的是地址,是某类型的地址,如实型指针变量只能存储实型变量的地址,短整型指针变量只能存储短整型变量的地址。 指针运算符“*”在指针中一般在两种情况下出现:第一种是定义指针,如int i=13,*q;第二种是在赋值语句或程序执行中出现。第一种中“*”代表该变量的类型是指针型变量,指针变量名是p,而不是*p。第二种中 “*” 运算符表示取它指向的内容,*q表示指针变量q所指向的变量。 比如给指针赋值,可以采用两种方法: ① int i=3,*p; p=i; ② int i=3,*p=i;分别是先定义后赋值和边定义边赋值。实际教学中许多学生在先定义后赋值p=i中常常将p错误写成*p ,主要是没有弄清楚概念,i表

文档评论(0)

精华文档888 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档