999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

C語言教學中指針的教法探究

2014-12-22 18:59:51
山東工業技術 2014年23期
關鍵詞:定義教學

李 寧

(安徽財貿職業學院,合肥 230601)

C語言教學中指針的教法探究

李寧

(安徽財貿職業學院,合肥230601)

摘要:指針是C語言教學的重點,也是教學的難點,文章分析了指針與各種數據對象之間的關系,使學生能夠深入理解和掌握指針的應用。

關鍵詞:指針;地址;數組;函數;啟發式教學

指針,一直被認為是C語言中的精華。只有掌握了指針,才能說你學會了C語言。指針知識內容抽象、邏輯性強、易混淆和遺忘。基于此,筆者結合多年C語言教學經驗,從指針教學的導入、概念的明確、指針與各種數據對象之間的關系幾方面,對指針進行了分析和探討,取得了良好的教學效果,為后繼課程的學習打下了堅實的基礎。

1 建立內存模型的概念,引入指針

在前面C語言的學習中,同學們已經清楚的有了常量和變量的概念,如果在程序中定義了一個變量,在對程序進行編譯時,系統給這個變量分配內存單元有兩種方式:

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

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

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

2 明確指針變量概念

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

2.1在定義指針變量時要注意兩點:

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

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

2.2在對指針變量賦值時需要注意兩點:

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

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

3 指針與各種數據對象之間的關系

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

(2)指針與數組。引用一個數組元素,可以用下標法,如a [i]形式或者指針法,如*(a+i)或*(p+i)。其中a是數組名,p是指向數組元素的指針變量,其初值p=a。當指針變量p指向數組首地址時,p+1就等價于a+1,也等價于&a[1],也就是說p+i、a+i和&a[i]三者是等價關系。由此可知:*(p+i)、*(a+i)和a[i]及p[i]四者是等價關系。

(3)指針與字符串。實際應用中人們常用字符指針指向字符數組的元素,以便通過這種指針使用字符數組的內容。最常見的情況是令字符指針指向字符串,不僅字符串可以是常量字符串,還可以是存儲著字符串的字符數組。

字符數組和字符指針變量二者之間的區別主要有以下幾點:

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

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

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

4 指針的靈活性分析

所以在使用指針時,容易發下各種錯誤,比如指針未初始化、指針越界,指向局部變量的指針、指針指向的轉移方向的錯誤等等。但是其也有很多優勢,比如為支持C 動態分配子程序;函數提供修改調用變元的靈活手段;其作用于改善某些子程序的效率;而且還為該動態數據結構(如二叉樹、鏈表)提供了支持等。

5 結束語

學生在剛開始使用指針時,由于對概念理解的不透徹,經常會出現一些莫名奇妙的邏輯錯誤,因此對指針非常畏懼。所以教師在講授指針時,一定不能采取滿堂灌的教學方法,過多強調語法細節。應采取啟發式教學模式,用淺顯的實例,導入這部分內容;用PPT和板書相結合,給學生充分理解和思考的時間;多采用圖示、動畫、類比等形象直觀的方式幫助學生理解,一步步地化解難度,教才會有成效,學也會有所成,才能為數據結構等后續課程的學習打下堅實的基礎。

參考文獻:

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

作者簡介:李寧(1981-),女,天津人,本科,講師,主要研究方向為軟件設計。

猜你喜歡
定義教學
永遠不要用“起點”定義自己
海峽姐妹(2020年9期)2021-01-04 01:35:44
微課讓高中數學教學更高效
甘肅教育(2020年14期)2020-09-11 07:57:50
定義“風格”
如何讓高中生物教學變得生動有趣
甘肅教育(2020年12期)2020-04-13 06:25:34
“自我診斷表”在高中數學教學中的應用
東方教育(2017年19期)2017-12-05 15:14:48
對外漢語教學中“想”和“要”的比較
唐山文學(2016年2期)2017-01-15 14:03:59
成功的定義
山東青年(2016年1期)2016-02-28 14:25:25
修辭學的重大定義
當代修辭學(2014年3期)2014-01-21 02:30:44
跨越式跳高的教學絕招
體育師友(2013年6期)2013-03-11 18:52:18
山的定義
公務員文萃(2013年5期)2013-03-11 16:08:37
主站蜘蛛池模板: 亚洲精品视频免费观看| 免费人成视频在线观看网站| 久久婷婷色综合老司机| 国产第一色| 毛片一区二区在线看| 国产极品美女在线观看| 欧美精品在线看| 91成人试看福利体验区| 人人爱天天做夜夜爽| 午夜精品一区二区蜜桃| 91精品国产综合久久不国产大片| 日韩无码黄色网站| 在线看片免费人成视久网下载| 午夜电影在线观看国产1区| 日韩毛片免费观看| 青青青视频91在线 | 欧美一区二区三区欧美日韩亚洲| 国产精品理论片| 99久久无色码中文字幕| 99久久精品久久久久久婷婷| 青青草原国产一区二区| 99精品免费在线| 亚洲综合二区| 无遮挡国产高潮视频免费观看| 中文字幕一区二区视频| 亚洲综合久久一本伊一区| 狠狠v日韩v欧美v| 国产高清色视频免费看的网址| 精品色综合| 超薄丝袜足j国产在线视频| 黄色三级毛片网站| 精品一区二区三区波多野结衣| 亚洲人成网18禁| 一级毛片不卡片免费观看| 中文成人在线视频| 伊人91在线| 婷婷综合在线观看丁香| 国产成人91精品| 这里只有精品在线播放| 91极品美女高潮叫床在线观看| 欧美午夜网| 四虎亚洲国产成人久久精品| 亚洲伊人电影| 成人午夜在线播放| 免费一级毛片不卡在线播放| 国产爽歪歪免费视频在线观看| 亚洲国产精品VA在线看黑人| 国产欧美综合在线观看第七页| 久久天天躁狠狠躁夜夜2020一 | 国产欧美成人不卡视频| 亚洲一级毛片在线播放| 国产精品亚洲综合久久小说| 欧美伦理一区| 欧美日韩亚洲国产主播第一区| 98精品全国免费观看视频| 亚洲国产系列| 91成人在线观看| 熟妇人妻无乱码中文字幕真矢织江 | 欧美激情视频二区| h视频在线播放| 91探花在线观看国产最新| 国产欧美日韩精品第二区| 91免费观看视频| 中文字幕精品一区二区三区视频| 在线观看无码a∨| 波多野结衣一区二区三区88| 国产一级裸网站| 国产精品毛片一区| 国产AV毛片| 日韩欧美中文字幕在线精品| 国产高潮流白浆视频| 97视频在线精品国自产拍| 久草青青在线视频| 欧美日韩另类国产| 四虎精品黑人视频| 欧美三级日韩三级| 91精品专区| 国产成人精品第一区二区| 国产主播喷水| 午夜少妇精品视频小电影| 国产日韩欧美在线播放| 中文字幕丝袜一区二区|