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