【摘要】指针是C语言的一个重要概念,也是最抽象、最难理解的部分,如何善于使用指针是C语言程序设计中的难点。本文从一个指针程序实例入手,讨论如何分别利用列指针和行指针来输出二维数组元素的值,剖析其常见错误及正确解法。
【关键词】C语言;指针;列指针;行指针
引言
《C语言程序设计》是各类本专科院校计算机专业学生的一门必修课,它即是一门专业基础课,为其他后续课程如《数据结构》等专业课程打下基础,也是学生进修考试中常见的一个专业课考试科目,如计算机等级考试、专升本考试和研究生入学考试等。因此学好C语言至关重要。众所周知,C语言的功能强大、使用灵活,但把它作为入门的程序设计语言,对于多数专科学生来说,其学习难度还是比较大的,尤其是指针部分。很多学生只能勉强读懂程序,自己应用指针来编程却总是出错,搞不清楚到底什么情况下应该使用指针,更别说体会到使用指针究竟有哪些好处了。特别是在多维数组的指针应用方面,更是如此。
1.相关概念
(1)指针
指针变量指的是专门存放变量地址的变量,即变量的指针就是变量的地址。如果一个指针变量中存放了一个整型变量的地址,我们也称这个变量是指向整型变量的指针变量。
变量在内存中有相应的地址,同理,数组中所包含的每个数组元素也都有其相应的地址。数组的指针就是数组在内存中的起始地址;而数组元素的指针就是数组元素在内存中的地址。可以用以下两种方法引用数组元素:①下标法,用数组名加下标,该方法较直观易懂。②指针法,即地址法。该方法使目标程序占用内存少,运行速度快。
(2)行指针
指向由m个元素组成的一维数组的指针变量。例如在定义int(*p)[4];中,p是指针变量,它所指对象是包含4个元素的一维数组,则p的值是该一维数组的首地址,p是行指针,不能指向一维数组中的第j个元素。
(3)多维数组的指针
为了说清楚多维数组
3.结束语
虽然指针能够方便地使用多维数组,使得程序更加简洁、紧凑和高效。但是,如果使用指针不当,特别是赋予它一个错误的值时,会成为一个极其隐蔽的、难以发现和排除的故障。因此,初学者在使用指针时要十分小心谨慎,要多上机调试程序,以弄清一些细节,并积累经验。
参考文献
[1]谭浩强.C语言程序设计(第2版)[M].清华大学出版社,2008.
[2]譚浩强.C语言程序设计(第2版)学习指导[M].清华大学出版社,2009.
作者简介:林洁璇(1979—),女,广东潮州人,韩山师范学院潮州师范分院计算机助理讲师。