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线观看| 欧美性猛交xxxx乱大交极品| 亚洲国产成人综合精品2020| 日本免费一级视频| 超薄丝袜足j国产在线视频| 午夜色综合| 91丨九色丨首页在线播放 | 国产欧美在线观看精品一区污| 国产sm重味一区二区三区| 在线日本国产成人免费的| 一本一道波多野结衣一区二区| 亚洲二区视频| 久久这里只有精品8| 性欧美久久| 99这里只有精品免费视频| 久久精品视频一| 国产黑人在线| 精品欧美一区二区三区在线| 91福利免费| 高清无码不卡视频| 无码av免费不卡在线观看| 精品人妻无码中字系列| 成人亚洲天堂| 色综合成人| 亚洲日本www| 996免费视频国产在线播放| 在线国产资源| 日韩在线2020专区| 片在线无码观看| 免费人成在线观看成人片| 日本免费福利视频| 亚洲一道AV无码午夜福利| 久久久精品国产SM调教网站| 亚洲中文字幕av无码区| 亚洲无码在线午夜电影| 精品久久久久久久久久久| 毛片在线区| 日韩二区三区无| 天天做天天爱夜夜爽毛片毛片| 乱码国产乱码精品精在线播放| 亚洲人成影院午夜网站| 成人免费一区二区三区| 中国丰满人妻无码束缚啪啪| 国产在线观看99| 精品综合久久久久久97超人该 | 欧美日韩精品综合在线一区| 亚洲精品无码在线播放网站| 亚洲欧美不卡中文字幕| 亚洲高清日韩heyzo| 欧美日韩国产成人高清视频| av手机版在线播放| 美女一级毛片无遮挡内谢| 久久天天躁狠狠躁夜夜躁| 本亚洲精品网站| 综合色亚洲| 综合天天色| 免费一级毛片| 九九线精品视频在线观看| 国产杨幂丝袜av在线播放| 欧美一区二区三区不卡免费| 一本大道视频精品人妻| 色妞永久免费视频| 天天综合亚洲| 午夜国产不卡在线观看视频| 伊人无码视屏| 真实国产乱子伦视频| 熟妇人妻无乱码中文字幕真矢织江| 成人福利在线观看| 国产免费福利网站| 99免费在线观看视频| 欧洲av毛片| 视频二区欧美| 国产成人8x视频一区二区| 亚洲综合极品香蕉久久网| 最近最新中文字幕在线第一页 | 久久综合一个色综合网| 国产精品片在线观看手机版 | 国产激情第一页| 亚洲日韩Av中文字幕无码| 欧美日本在线| 欧美午夜在线观看| 在线观看的黄网|