国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

指針與指針變量

2019-11-17 05:22:53
字體:
來源:轉載
供稿:網友

  指針是C語言的精華部分,通過利用指針,我們能很好地利用內存資源,使其發揮最大的效率。有了指針技術,我們可以描述復雜的數據結構,對字符串的處理可以更靈活,對數組的處理更方便,使程序的書寫簡潔,高效,清爽。但由于指針對初學者來說,難于理解和掌
握,需要一定的計算機硬件的知識做基礎,這就需要多做多練,多上機動手,才能在實踐中盡快把握,成為C的高手。
過去,我們在編程中定義或說明變量,編譯系統就為已定義的變量分配相應的內存單元,也就是說,每個變量在內存會有固定的位置,有具體的地址。由于變量的數據類型不同,它所占的內存單元數也不相同。若我們在程序中做定義為:
int a=1,b=2;
float x=3.4, y = 4 . 5 ;
double m=3.124;
char ch1='a', ch2='b';

讓我們先看一下編譯系統是怎樣為變量分配內存的。變量a,b是整型變量,在內存各占2個字節;x,y是實型,各占4個字節;m是雙精度實型,占8個字節;ch1,ch2是字符型,各占1個字節。由于計算機內存是按字節編址的,設變量的存放從內存2000單元開始存放,則編譯系統對變量在內存的安放情況為圖6-1所示。
指針與指針變量(圖一)
變量在內存中按照數據類型的不同,占內存的大小也不同,都有具體的內存單元地址,如變量a在內存的地址是2000,占據兩個字節后,
變量b的內存地址就為2002,變量m的內存地址為2012等。對內存中變量的訪問,過去用scanf("%d%d%f",&a,&b,&x)表示將數據輸入變量的地址所指示的內存單元。那么,訪問變量,首先應找到其在內存的地址,或者說,一個地址唯一指向一個內存變量,我們稱這個地址為
變量的指針。假如將變量的地址保存在內存的特定區域,用變量來存放這些地址,這樣的變量就是指針變量,通過指針對所指向變量的訪問,也就是一種對變量的“間接訪問”。
設一組指針變量pa、pb、px、py、pm、pch1、pch2,分別指向上述的變量a、b、x、y、m、ch1、ch2,指針變量也同樣被存放在內存,二者的關系如圖6-2所示:
指針與指針變量(圖二)
在圖6-2中,左部所示的內存存放了指針變量的值,該值給出的是所指變量的地址,通過該地址,就可以對右部描述的變量進行訪問。如指針變量pa的值為2000,是變量a在內存的地址。因此,pa就指向變量a。變量的地址就是指針,存放指針的變量就是指針變量。

上一篇:數組的初始化

下一篇:二維數組

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 怀宁县| 天柱县| 江陵县| 泸溪县| 甘泉县| 临猗县| 河间市| 靖宇县| 平乡县| 珲春市| 长垣县| 西乡县| 岑巩县| 万全县| 广元市| 新昌县| 云霄县| 奎屯市| 浮梁县| 松潘县| 庄河市| 阳西县| 布拖县| 镇安县| 新平| 手游| 长岛县| 湘潭市| 许昌市| 晋中市| 额济纳旗| 平舆县| 原阳县| 娱乐| 泗水县| 镇原县| 迁安市| 博白县| 赫章县| 仁怀市| 华安县|