【摘要】指針是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—),女,廣東潮州人,韓山師范學院潮州師范分院計算機助理講師。