【摘要】指針是C語言的一個重要概念,也是最抽象、最難理解的部分,如何善于使用指針是C語言程序設(shè)計中的難點。本文從一個指針程序?qū)嵗胧?,討論如何分別利用列指針和行指針來輸出二維數(shù)組元素的值,剖析其常見錯誤及正確解法。
【關(guān)鍵詞】C語言;指針;列指針;行指針
引言
《C語言程序設(shè)計》是各類本專科院校計算機專業(yè)學生的一門必修課,它即是一門專業(yè)基礎(chǔ)課,為其他后續(xù)課程如《數(shù)據(jù)結(jié)構(gòu)》等專業(yè)課程打下基礎(chǔ),也是學生進修考試中常見的一個專業(yè)課考試科目,如計算機等級考試、專升本考試和研究生入學考試等。因此學好C語言至關(guān)重要。眾所周知,C語言的功能強大、使用靈活,但把它作為入門的程序設(shè)計語言,對于多數(shù)??茖W生來說,其學習難度還是比較大的,尤其是指針部分。很多學生只能勉強讀懂程序,自己應用指針來編程卻總是出錯,搞不清楚到底什么情況下應該使用指針,更別說體會到使用指針究竟有哪些好處了。特別是在多維數(shù)組的指針應用方面,更是如此。
1.相關(guān)概念
(1)指針
指針變量指的是專門存放變量地址的變量,即變量的指針就是變量的地址。如果一個指針變量中存放了一個整型變量的地址,我們也稱這個變量是指向整型變量的指針變量。
變量在內(nèi)存中有相應的地址,同理,數(shù)組中所包含的每個數(shù)組元素也都有其相應的地址。數(shù)組的指針就是數(shù)組在內(nèi)存中的起始地址;而數(shù)組元素的指針就是數(shù)組元素在內(nèi)存中的地址??梢杂靡韵聝煞N方法引用數(shù)組元素:①下標法,用數(shù)組名加下標,該方法較直觀易懂。②指針法,即地址法。該方法使目標程序占用內(nèi)存少,運行速度快。
(2)行指針
指向由m個元素組成的一維數(shù)組的指針變量。例如在定義int(*p)[4];中,p是指針變量,它所指對象是包含4個元素的一維數(shù)組,則p的值是該一維數(shù)組的首地址,p是行指針,不能指向一維數(shù)組中的第j個元素。
(3)多維數(shù)組的指針
為了說清楚多維數(shù)組
3.結(jié)束語
雖然指針能夠方便地使用多維數(shù)組,使得程序更加簡潔、緊湊和高效。但是,如果使用指針不當,特別是賦予它一個錯誤的值時,會成為一個極其隱蔽的、難以發(fā)現(xiàn)和排除的故障。因此,初學者在使用指針時要十分小心謹慎,要多上機調(diào)試程序,以弄清一些細節(jié),并積累經(jīng)驗。
參考文獻
[1]譚浩強.C語言程序設(shè)計(第2版)[M].清華大學出版社,2008.
[2]譚浩強.C語言程序設(shè)計(第2版)學習指導[M].清華大學出版社,2009.
作者簡介:林潔璇(1979—),女,廣東潮州人,韓山師范學院潮州師范分院計算機助理講師。