• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    C語(yǔ)言教學(xué)中指針的教法探究

    2014-12-22 18:59:51
    山東工業(yè)技術(shù) 2014年23期
    關(guān)鍵詞:數(shù)組指針字符

    李 寧

    (安徽財(cái)貿(mào)職業(yè)學(xué)院,合肥 230601)

    C語(yǔ)言教學(xué)中指針的教法探究

    李寧

    (安徽財(cái)貿(mào)職業(yè)學(xué)院,合肥230601)

    摘要:指針是C語(yǔ)言教學(xué)的重點(diǎn),也是教學(xué)的難點(diǎn),文章分析了指針與各種數(shù)據(jù)對(duì)象之間的關(guān)系,使學(xué)生能夠深入理解和掌握指針的應(yīng)用。

    關(guān)鍵詞:指針;地址;數(shù)組;函數(shù);啟發(fā)式教學(xué)

    指針,一直被認(rèn)為是C語(yǔ)言中的精華。只有掌握了指針,才能說(shuō)你學(xué)會(huì)了C語(yǔ)言。指針知識(shí)內(nèi)容抽象、邏輯性強(qiáng)、易混淆和遺忘?;诖?,筆者結(jié)合多年C語(yǔ)言教學(xué)經(jīng)驗(yàn),從指針教學(xué)的導(dǎo)入、概念的明確、指針與各種數(shù)據(jù)對(duì)象之間的關(guān)系幾方面,對(duì)指針進(jìn)行了分析和探討,取得了良好的教學(xué)效果,為后繼課程的學(xué)習(xí)打下了堅(jiān)實(shí)的基礎(chǔ)。

    1 建立內(nèi)存模型的概念,引入指針

    在前面C語(yǔ)言的學(xué)習(xí)中,同學(xué)們已經(jīng)清楚的有了常量和變量的概念,如果在程序中定義了一個(gè)變量,在對(duì)程序進(jìn)行編譯時(shí),系統(tǒng)給這個(gè)變量分配內(nèi)存單元有兩種方式:

    (1)按變量地址存取變量值的方式稱為“直接訪問(wèn)”方式,如int i,j,k;Printf(“%d”,i)。

    (2)另一種存取變量值的方式稱為“間接訪問(wèn)”的方式。即將變量i的地址存放在另一個(gè)變量中, 如int&pointer_1=&i。

    可以打個(gè)比方,(1)就相當(dāng)于我們直接可以打開抽屜,存取里面的物品。(2)是我們從另外一個(gè)房間,拿出打開抽屜的鑰匙,才能存取里面的物品。由上得知:指針就是地址,是指向目標(biāo)單元的地址。計(jì)算機(jī)在運(yùn)行時(shí),數(shù)據(jù)總是要存儲(chǔ)在內(nèi)存中以備CPU的不時(shí)之需,為了能夠有效地訪問(wèn)數(shù)據(jù),計(jì)算機(jī)系統(tǒng)必然要對(duì)內(nèi)部存儲(chǔ)單元進(jìn)行編號(hào),就像門牌號(hào)一樣,有了明確的編號(hào),總控才能快速而準(zhǔn)確地定位并訪問(wèn)內(nèi)存,順利地將數(shù)據(jù)提取出來(lái)。所以我們要引入地址的概念,地址就是我們所說(shuō)的指針。

    2 明確指針變量概念

    如果有一個(gè)變量專門存放另一變量的地址(即指針),則它稱為“指針變量”,可以用賦值語(yǔ)句使一個(gè)指針變量得到另一個(gè)變量的地址,從而使它指向一個(gè)該變量。

    2.1在定義指針變量時(shí)要注意兩點(diǎn):

    (1)指針變量前面的“*”,表示該變量的類型為指針型變量。例:fl oat *pointer_1;指針變量名是pointer_1 ,而不是* pointer_1 。

    (2)在定義指針變量時(shí)必須指定基類型。需要特別注意的是,只有整型變量的地址才能放到指向整型變量的指針變量中。

    2.2在對(duì)指針變量賦值時(shí)需要注意兩點(diǎn):

    (1)指針變量中只能存放地址(指針),不要將一個(gè)整數(shù)直接賦給一個(gè)指針變量。

    (2)量地址不能是任意的類型,而必須是與指針變量的基類型具有相同類型的變量的地址。

    3 指針與各種數(shù)據(jù)對(duì)象之間的關(guān)系

    (1)指針與普通變量。如:int a=1,b=2;int *p1=&a,*p2=&b;上述指針變量p1、p2直接指向普通變量,這種指針?lè)Q為一級(jí)指針,如有定義:int a,*p,**q;則p為一級(jí)指針,q為二級(jí)指針;引用a的方法即有三種:a、*p、**q。

    (2)指針與數(shù)組。引用一個(gè)數(shù)組元素,可以用下標(biāo)法,如a [i]形式或者指針?lè)?,?(a+i)或*(p+i)。其中a是數(shù)組名,p是指向數(shù)組元素的指針變量,其初值p=a。當(dāng)指針變量p指向數(shù)組首地址時(shí),p+1就等價(jià)于a+1,也等價(jià)于&a[1],也就是說(shuō)p+i、a+i和&a[i]三者是等價(jià)關(guān)系。由此可知:*(p+i)、*(a+i)和a[i]及p[i]四者是等價(jià)關(guān)系。

    (3)指針與字符串。實(shí)際應(yīng)用中人們常用字符指針指向字符數(shù)組的元素,以便通過(guò)這種指針使用字符數(shù)組的內(nèi)容。最常見的情況是令字符指針指向字符串,不僅字符串可以是常量字符串,還可以是存儲(chǔ)著字符串的字符數(shù)組。

    字符數(shù)組和字符指針變量二者之間的區(qū)別主要有以下幾點(diǎn):

    1)字符數(shù)組由若干個(gè)元素組成,每個(gè)元素中放一個(gè)字符,而字符指針變量中存放的是地址,決不是將字符串放到字符指針變量中。

    2)定義了一個(gè)字符數(shù)組,在編譯時(shí)為它分配內(nèi)存單元,它有確定的地址。而定義一個(gè)字符指針變量時(shí),給指針變量分配內(nèi)存單元,在其中可以放一個(gè)字符變量的地址。

    (4)指針與函數(shù)。如果在程序中定義了一個(gè)函數(shù),在編譯時(shí),編譯系統(tǒng)為函數(shù)代碼所分配的一段存儲(chǔ)空間,這段存儲(chǔ)空間所在的起始地址(又稱入口地址),稱之為函數(shù)的指針。而且還定義一個(gè)指向函數(shù)的指針變量,用來(lái)存放某一函數(shù)的起始地址,這就說(shuō)明此指針變量指向該函數(shù)。

    4 指針的靈活性分析

    所以在使用指針時(shí),容易發(fā)下各種錯(cuò)誤,比如指針未初始化、指針越界,指向局部變量的指針、指針指向的轉(zhuǎn)移方向的錯(cuò)誤等等。但是其也有很多優(yōu)勢(shì),比如為支持C 動(dòng)態(tài)分配子程序;函數(shù)提供修改調(diào)用變?cè)撵`活手段;其作用于改善某些子程序的效率;而且還為該動(dòng)態(tài)數(shù)據(jù)結(jié)構(gòu)(如二叉樹、鏈表)提供了支持等。

    5 結(jié)束語(yǔ)

    學(xué)生在剛開始使用指針時(shí),由于對(duì)概念理解的不透徹,經(jīng)常會(huì)出現(xiàn)一些莫名奇妙的邏輯錯(cuò)誤,因此對(duì)指針?lè)浅N窇?。所以教師在講授指針時(shí),一定不能采取滿堂灌的教學(xué)方法,過(guò)多強(qiáng)調(diào)語(yǔ)法細(xì)節(jié)。應(yīng)采取啟發(fā)式教學(xué)模式,用淺顯的實(shí)例,導(dǎo)入這部分內(nèi)容;用PPT和板書相結(jié)合,給學(xué)生充分理解和思考的時(shí)間;多采用圖示、動(dòng)畫、類比等形象直觀的方式幫助學(xué)生理解,一步步地化解難度,教才會(huì)有成效,學(xué)也會(huì)有所成,才能為數(shù)據(jù)結(jié)構(gòu)等后續(xù)課程的學(xué)習(xí)打下堅(jiān)實(shí)的基礎(chǔ)。

    參考文獻(xiàn):

    [1]裴新鳳.如何正確地使用C語(yǔ)言的指針[J].西北民族學(xué)院學(xué)報(bào),1999,20(06):41-43

    作者簡(jiǎn)介:李寧(1981-),女,天津人,本科,講師,主要研究方向?yàn)檐浖O(shè)計(jì)。

    猜你喜歡
    數(shù)組指針字符
    尋找更強(qiáng)的字符映射管理器
    JAVA稀疏矩陣算法
    JAVA玩轉(zhuǎn)數(shù)學(xué)之二維數(shù)組排序
    字符代表幾
    一種USB接口字符液晶控制器設(shè)計(jì)
    電子制作(2019年19期)2019-11-23 08:41:50
    偷指針的人
    消失的殖民村莊和神秘字符
    為什么表的指針都按照順時(shí)針?lè)较蜣D(zhuǎn)動(dòng)
    尋找勾股數(shù)組的歷程
    基于改進(jìn)Hough變換和BP網(wǎng)絡(luò)的指針儀表識(shí)別
    渝北区| 姚安县| 长乐市| 封丘县| 同仁县| 龙口市| 临洮县| 修水县| 平阳县| 萨嘎县| 鄂尔多斯市| 三台县| 江源县| 株洲县| 正定县| 东至县| 北票市| 启东市| 彭山县| 金平| 长子县| 曲阜市| 竹溪县| 台江县| 策勒县| 久治县| 南涧| 千阳县| 隆德县| 乳源| 阿拉尔市| 乌什县| 马关县| 曲靖市| 江门市| 江西省| 江川县| 得荣县| 德州市| 岑巩县| 武宁县|