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

淺談C語言中指針的教學

2016-02-02 08:39:56徐云娟
科技經濟市場 2016年1期
關鍵詞:程序

徐云娟

摘 要:C語言數據類型非常豐富,其中一個重要的數據類型是指針,利用指針可以直接實現對內存的數據進行快速處理、實現函數間的調用等。但是由于指針概念較為復雜,使用起來非常靈活,所以對于大一的新生初次學習程序語言設計,在學習到指針這一數據類型的時候往往難以掌握。因此在教學中,教師需要根據學生的實際情況合理的安排這一知識點的學習,一般可以按照數據在內存中的存儲方式合理地進行教學設計,幫助學生理解指針的概念,從而熟練掌握指針的使用。

關鍵詞:指針;程序;內存

1 指針的概念

首先要讓學生明確指針也是一種數據類型。為了讓學生很好的理解指針到底是一種什么樣的數據類型,就必須讓學生理解數據在內存中是如何存儲的。內存是以字節為單位的一片連續的存儲空間,每一個字節單元都對應著一個唯一的存儲單元的編號,這個存儲單元的編號就稱為內存單元的地址,簡稱地址。可以舉例學生宿舍,內存單元的地址就相當于我們學生所在宿舍的房間號,在內存地址所標識的內存單元中所存放的數據,就相當于學生宿舍里入住的學生一樣,可以有單人間,雙人間,四人間等等。即根據數據類型的不一樣,分配不同的存儲空間。如下定義:char n; float d;int m ; 變量的類型不一樣,內存為各自分配存儲空間也不一樣。由于變量n是字符型數據,所以內存分配其1個字節的存儲單元;變量d是浮點型數據,所以內存分配其4個字節的存儲單元;變量m是整型數據,所以內存分配其2個字節的存儲單元。所謂變量的地址就是內存為各變量所分配的存儲空間的第一個字節單元的地址。即地址就是用來標識數據的存儲單元的一種數據類型,方便用戶對存儲在各自單元中的數據進行正確的訪問,在C語言中就將地址稱為指針。指針可以用來指向變量、結構體\\數組及其元素以及指針等。

2 區分變量、變量名、變量的地址和變量值

為了更好的理解指針這種類型的數據,我們先來理解一下變量、變量名、變量的地址和變量值的區別。所謂的變量即命名的內存空間。變量在內存中占有一定空間,用于存放各種相應類型的數據;所謂的變量名即給內存空間所取的一個容易記憶的名字;所謂的變量的地址即變量所使用的內存空間的地址(內存單元的編號);所謂的變量值即所對應的內存單元中存放的數值。

3 指針變量的定義、賦值和引用

(一)指針變量的定義格式:基類型 *變量名;

例如: int *n; /*定義一個指向整數據的指針變量n*/

char *m; /*定義一個指向字符型數據的指針變量m*/

float *p; /*定義一個指向浮點型數據的指針變量p*/

注意:C語言所有的變量必須是先定義然后再使用。指針變量也必須如此,為了表示指針變量是存放地址的一種特殊變量,所以在定義變量時會在變量名前加“*”號;指針變量的基類型表示指針變量所指向數據的類型,因各數據類型占用的存儲空間不一樣,指針變量的某些操作具有特殊的含義。如指針變量加1,不是純粹的加1個字節, 而是加一個所指向變量的字節個數,例如:int *p, b=100; p=&b;其中執行p++;指的是p值加2個字節。

(二)指針變量的賦值方法

(1)變量的地址賦值給指針變量,例如:int a, *p;p=&a;

(2)相同類型的指針變量之間賦值,例如:int a, *p1,*p2;p1=&a;p2=p1;

(3)賦空值NULL,例如:int *p1 =NULL;

(三)指針變量的具體使用

首先區分“&”運算符和“*”運算符。“&”運算符表示取變量的地址, “*”運算符表示訪問指針變量所指向的變量的值。在定義指針變量時”*”是指針變量的標志,沒有特殊含義,但在具體使用中要注意,在指針變量前加了”*”, 表示取其所指向變量的值。從變量名獲得變量地址用“&”運算符,從地址獲得地址指向的數據用“*”運算符。

例如:int a=3,*p=&a;

具體訪問數據時,可以按變量名直接訪問,如:a=3;而利用指向變量的的指針去訪問屬于間接訪問,即變量a的地址(指針)存放在指針變量p中,p=&a(p指向a),然后利用指針變量p進行變量a的訪問*p=3,這就是間接訪問。

4 指針變量可以作為函數的參數

指針變量和其它數據類型的變量一樣也作為函數參數,區別只是傳遞的內容是一個地址值。而且可以通過這個地址值間接改變實參、形參所共同指向的變量的值。

例如:輸入a,b,交換a,b數據后輸出。

void fun(int *p1, int *p2)

{int temp;

temp=*p1;

*p1=*p2 ;

*p2=temp;}

main()

{int a=3,b=5,*pa, *pb;

pa=&a;

pb=&b;

fun(pa,pb);

printf(“swaped:\n”);

printf(“a=%d,b=%d\n”,a,b);}

5 總結

本文主要介紹了指針的基本概念及其使用。由于指針這種數據類型比較靈活,所以學生剛開始使用時容易出錯,可以通過指導學生上機調試程序,弄清程序中的細節,區分指針與其它數據類型的區別,累積編程得經驗,以達到熟練的使用它。

參考文獻:

[1]董漢麗.C語言程序設計[M].大連:大連理工出版社,2002.

猜你喜歡
程序
給Windows添加程序快速切換欄
電腦愛好者(2020年6期)2020-05-26 09:27:33
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
基于VMM的程序行為異常檢測
偵查實驗批準程序初探
我國刑事速裁程序的構建
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
恐怖犯罪刑事訴訟程序的完善
主站蜘蛛池模板: 日韩欧美中文在线| 中文精品久久久久国产网址| 午夜天堂视频| 色哟哟国产精品一区二区| 欧美另类图片视频无弹跳第一页 | 国产小视频a在线观看| 午夜色综合| 亚洲一区二区在线无码| 五月激情综合网| 好吊色妇女免费视频免费| 亚洲国产精品日韩av专区| 极品国产一区二区三区| 亚洲精品波多野结衣| 亚洲Va中文字幕久久一区 | 精品99在线观看| 米奇精品一区二区三区| 国产精品香蕉| 成人免费黄色小视频| 亚洲区欧美区| av午夜福利一片免费看| 久久精品日日躁夜夜躁欧美| 欧美日韩中文字幕二区三区| 亚洲一区二区约美女探花| 国产精品黄色片| 97se亚洲综合在线天天| 日韩专区欧美| 99re在线免费视频| 国产嫩草在线观看| 国产午夜不卡| 久久免费视频播放| 毛片一区二区在线看| 国产高清在线丝袜精品一区 | 激情视频综合网| 性视频久久| 最近最新中文字幕在线第一页| 一级爆乳无码av| 久草视频福利在线观看 | 人妻丝袜无码视频| 日韩在线1| 国产欧美在线观看精品一区污| 国产精品自在自线免费观看| 91午夜福利在线观看| 免费看美女毛片| 亚洲精品午夜天堂网页| 好吊色国产欧美日韩免费观看| 欧美日韩国产在线观看一区二区三区| 热久久综合这里只有精品电影| 国产激情无码一区二区APP| 国产在线98福利播放视频免费| 久久综合AV免费观看| 青青草综合网| 特级精品毛片免费观看| 国产在线视频导航| 国产人在线成免费视频| 中字无码av在线电影| 日韩午夜伦| 国产在线啪| 成人日韩视频| 熟妇丰满人妻av无码区| 亚洲人成亚洲精品| 亚洲小视频网站| 日韩高清成人| 国产美女丝袜高潮| 国产精品视频第一专区| 国产综合精品日本亚洲777| 666精品国产精品亚洲| 精品少妇人妻无码久久| 中文字幕资源站| 免费啪啪网址| 国产精品综合色区在线观看| 亚洲乱伦视频| 欧美成人一级| 欧美日韩午夜| 色吊丝av中文字幕| 一级毛片无毒不卡直接观看| 国产日韩精品一区在线不卡| 曰韩免费无码AV一区二区| 韩日无码在线不卡| 精品免费在线视频| 亚洲无码精品在线播放| 韩日无码在线不卡| 欧美色丁香|