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

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

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

李 寧

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

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

李寧

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

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

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

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

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

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

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

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

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

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

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

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

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

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

4 指針的靈活性分析

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

5 結束語

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

參考文獻:

[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
主站蜘蛛池模板: 国产成人综合网在线观看| 国产精品私拍99pans大尺度| 波多野结衣在线se| 97影院午夜在线观看视频| 在线网站18禁| 97影院午夜在线观看视频| 国产福利观看| 国产精品久久久久无码网站| 国产 在线视频无码| 国产精品99一区不卡| 九九久久99精品| 激情五月婷婷综合网| 成人日韩视频| 本亚洲精品网站| 欧美一级特黄aaaaaa在线看片| 一本色道久久88| 久草网视频在线| 亚洲精品国产自在现线最新| 国产高清在线丝袜精品一区| 国产福利在线免费观看| 97青草最新免费精品视频| 99热这里只有免费国产精品 | 亚洲国产成熟视频在线多多| 国产9191精品免费观看| 亚洲无码免费黄色网址| 欧美区国产区| 久久永久免费人妻精品| 婷婷综合在线观看丁香| 久久久久无码精品国产免费| 亚洲三级影院| 亚洲第七页| 欧美中文字幕在线视频| 福利在线一区| 成人精品免费视频| 亚洲国产欧美国产综合久久| 欧美在线国产| 色网站在线免费观看| 国产成人精品一区二区| 色偷偷一区| 在线亚洲小视频| 欧美在线国产| 国内老司机精品视频在线播出| 91久久精品国产| 欧美激情,国产精品| 亚洲欧美国产视频| 69免费在线视频| 国产青青草视频| 九九热视频精品在线| 久久黄色小视频| 手机在线免费不卡一区二| 欧美成人免费一区在线播放| 久视频免费精品6| 精品在线免费播放| 日韩精品一区二区深田咏美 | 大学生久久香蕉国产线观看 | 99在线观看免费视频| 中文纯内无码H| 久久精品无码国产一区二区三区| 成人91在线| 亚洲精品男人天堂| 成年午夜精品久久精品| 久久亚洲欧美综合| 中文成人在线视频| 成人午夜精品一级毛片| 亚洲日韩精品无码专区97| 狂欢视频在线观看不卡| 97无码免费人妻超级碰碰碰| 免费观看成人久久网免费观看| 亚洲婷婷在线视频| 国产国模一区二区三区四区| 99热这里只有成人精品国产| 日韩福利在线观看| 青青青国产免费线在| 免费又黄又爽又猛大片午夜| 亚洲一级色| 午夜视频在线观看免费网站 | 免费在线国产一区二区三区精品| 亚洲第一区在线| 日韩黄色大片免费看| 色妞永久免费视频| 99精品在线视频观看| 国产精品无码久久久久久|