信息技术
InformationTechnology
C语言中指针的研究与总结
李祥琴
(武汉大学计算机学院 湖北 ·武汉 430079;
荆楚理工学院计算机工程学院 湖北 ·荆门 448000)
摘 要 指针在C语言学习中起着举足轻重的作用,C语言学的好不好关键在于对指针的掌握。本文介绍了指针学
习的现状、引入指针的作用,并对C语言指针中较易混淆的概念进行了详细阐述,最后探讨了指针与数组、函数的关
系和使用方法。
关键词 指针 C语言 数组 函数
中图分类号:TP393 文献标识码:A
StudyandSummaryonPointerinCLanguage
LIXiangqin
(SchoolofComputerScience,WuhanUniversity,Wuhan,Hubei430079;
SchoolofComputerEngineering,JingchuUniversiytofTechnology,Jingmen,Hubei448000)
Abstract PointerinClanguagelearningplaysallimportantrole,thekeyistomasterthepointerinCLnaguage.Thisarticle
describesthelearningstatusofpointer,theroleofintroductionofthepointer,andC languagepointermoreconfusingcon-
ceptswereelaborated,andfinallyexploretherelationshipbetweenpointersandarrays,functions,naduse.
Keywords pointer;CLnaguage;array;function
0引言 数的执行效率则会大大提高。
指针是c语言的精华,也是大学 c《语言程序设计》0课程 (3)使用未命名的存储单元。内存中的堆存储空间在程
教学的重点与难点。通过使用指针变量可以较方便地使用字 序运行中是用户 自己申请并指定大小,一般通过调用库函数
符串、数组,可以表示各种数据结构,从而能够编写出执行效率 来完成,没有变量直接参与,只能利用指针变量间接引用的方
高、可读性强的程序,它在很大程度上增强了C语言的功能。 式实现。
对于一个不涉及指针、只有程序设计结构、函数和数组的程 2指针中较易混淆概念的理解
序,许多学生在分析它时还觉得得心应手,一旦引入了指针,便 2.1指针变量和指针运算符
不知所措。究其原因,对指针的理解只停留在表层,没有从较深 C语言中通过变量使用计算机中的内存,变量是内存中
层次去理解。指针的概念本身比较复杂,涉及指针与地址、普通 某块存储单元的标识,它用来存放数据,如整型变量存储整数,
变量与指针变量、指针与函数、指针与数组,使用也比较灵活,需 浮点型变量存储实数。指针变量也是一种变量,定义一个指
要多思考、多总结、多上机,在实际操作中才能逐渐掌握。因此, 针变量就会有一块存储单元与之对应,只是它存储的是地址,
如何学好C语言中的指针成了一个值得研究的课题,下面就几 是某类型的地址,如实型指针变量只能存储实型变量的地址,
年来在实践教学过程中存在的想法进行总结和学习。 短整型指针变量只能存储短整型变量的地址。
I引用指针的作用 指针运算符 ¨”在指针中一般在两种情况下出现:第一种
通过定义指针变量可以确定存储单元的地址和类型,如 是定义指针,如inti=13,q:第二种是在赋值语句或程序执行
有 inti,p=&i;则变量 i与 p是等价的,在程序中可以用变量 中出现。第一种中¨”代表该变量的类型是指针型变量,指针
i和 ·p两种方式来访问存储单元。因此,指针变量是一种新 变量名是P,而不是 p。第二种