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
主站蜘蛛池模板: 国产精品综合久久久| 高h视频在线| 美美女高清毛片视频免费观看| 激情综合网址| 1769国产精品免费视频| 高清无码一本到东京热| 亚洲最大福利网站| 亚洲欧洲日韩久久狠狠爱| 伊人福利视频| 国产呦精品一区二区三区下载| 伊人精品视频免费在线| 四虎永久在线精品影院| 亚洲中文字幕手机在线第一页| 精品伊人久久久香线蕉 | 欧美激情,国产精品| 久久黄色视频影| 美女被操黄色视频网站| 中文字幕 欧美日韩| 欧美国产在线看| 亚洲精品片911| 91久久国产综合精品女同我| 青青久久91| 麻豆国产在线不卡一区二区| 欧美国产综合色视频| 日本久久久久久免费网络| 亚洲人妖在线| 国产高清在线观看| 亚洲av无码牛牛影视在线二区| 成人亚洲国产| 精品国产自| 成人国产精品2021| 国产精品免费入口视频| 99久久精品免费视频| 综合久久五月天| 久久香蕉国产线| 国产视频欧美| 国产日韩欧美视频| 国产美女无遮挡免费视频| 69综合网| 日韩视频精品在线| 在线欧美国产| 久久99国产综合精品1| 日本午夜影院| 中文字幕2区| 嫩草国产在线| 精品国产一二三区| 欧美伊人色综合久久天天| 亚洲色图欧美一区| 尤物视频一区| 中国国产A一级毛片| 日本三级欧美三级| 美女毛片在线| 欧美成人在线免费| 免费午夜无码18禁无码影院| 久久亚洲精少妇毛片午夜无码| 激情综合婷婷丁香五月尤物| 天堂成人av| 亚洲精品无码高潮喷水A| 国产精品分类视频分类一区| 日韩a在线观看免费观看| 国产精品分类视频分类一区| 麻豆AV网站免费进入| 亚洲中字无码AV电影在线观看| 国产亚洲欧美在线人成aaaa| 国产无遮挡裸体免费视频| 国产精品部在线观看| 日韩毛片基地| 成人午夜天| 成人另类稀缺在线观看| 久久精品人人做人人爽97| 国产区免费精品视频| 国产午夜人做人免费视频中文| 亚洲欧洲一区二区三区| 日本福利视频网站| 无码aaa视频| 欧美日韩激情| A级毛片高清免费视频就| 国产成人综合亚洲网址| 亚洲国产欧洲精品路线久久| 日韩一级二级三级| 国产一级妓女av网站| 日韩色图区|