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

首頁(yè) > 編程 > C++ > 正文

C語(yǔ)言中變量與其內(nèi)存地址對(duì)應(yīng)的入門知識(shí)簡(jiǎn)單講解

2020-05-23 14:11:55
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
這篇文章主要介紹了C語(yǔ)言中變量與其內(nèi)存地址對(duì)應(yīng)的入門知識(shí)簡(jiǎn)單講解,同時(shí)這也是掌握指針部分知識(shí)的基礎(chǔ),需要的朋友可以參考下
 

先來(lái)理解理解內(nèi)存空間吧。請(qǐng)看下圖:

C語(yǔ)言中變量與其內(nèi)存地址對(duì)應(yīng)的入門知識(shí)簡(jiǎn)單講解

如上圖所示,內(nèi)存只不過(guò)是一個(gè)存放數(shù)據(jù)的空間,就好像我的看電影時(shí)的電影院中的座位一樣。電影院中的每個(gè)座位都要編號(hào),而我們的內(nèi)存要存放各種各樣的數(shù)據(jù),當(dāng)然我們要知道我們的這些數(shù)據(jù)存放在什么位置吧。所以內(nèi)存也要象座位一樣進(jìn)行編號(hào)了,這就是我們所說(shuō)的內(nèi)存編址。座位可以是遵循“一個(gè)座位對(duì)應(yīng)一個(gè)號(hào)碼”的原則,從“第1號(hào)”開(kāi)始編號(hào)。而內(nèi)存則是按一個(gè)字節(jié)接著一個(gè)字節(jié)的次序進(jìn)行編址,如上圖所示。每個(gè)字節(jié)都有個(gè)編號(hào),我們稱之為內(nèi)存地址。好了,我說(shuō)了這么多,現(xiàn)在你能理解內(nèi)存空間這個(gè)概念嗎?

我們繼續(xù)看看以下的C/C++語(yǔ)言變量聲明:

int i;char a;

每次我們要使用某變量時(shí)都要事先這樣聲明它,它其實(shí)是內(nèi)存中申請(qǐng)了一個(gè)名為i的整型變量寬度的空間(DOS下的16位編程中其寬度為2個(gè)字節(jié)),和一個(gè)名為a的字符型變量寬度的空間(占1個(gè)字節(jié))。

我們又如何來(lái)理解變量是如何存在的呢。當(dāng)我們?nèi)缦侣暶髯兞繒r(shí):

int i;char a;

內(nèi)存中的映象可能如下圖:

C語(yǔ)言中變量與其內(nèi)存地址對(duì)應(yīng)的入門知識(shí)簡(jiǎn)單講解

圖中可看出,i在內(nèi)存起始地址為6上申請(qǐng)了兩個(gè)字節(jié)的空間(我這里假設(shè)了int的寬度為16位,不同系統(tǒng)中int的寬度可能是不一樣的),并命名為i。a在內(nèi)存地址為8上申請(qǐng)了一字節(jié)的空間,并命名為a。這樣我們就有兩個(gè)不同類型的變量了。

賦值給變量

再看下面賦值:

i = 30;a = 't';

你當(dāng)然知道個(gè)兩個(gè)語(yǔ)句是將30存入i變量的內(nèi)存空間中,將“t”字符存入a變量的內(nèi)存空間中。我們可以利用這樣的形象來(lái)理解:

C語(yǔ)言中變量與其內(nèi)存地址對(duì)應(yīng)的入門知識(shí)簡(jiǎn)單講解

變量在哪里?

即我想知道變量的地址。

好了,接下來(lái)我們來(lái)看看&i是什么意思?

是取i變量所在的地址編號(hào)嘛。我們可以這樣讀它:返回i變量的地址編號(hào)。你記住了嗎?

我要在屏幕上顯示變量的地址值的話,可以寫如下代碼:

printf("%x", &i);

以上圖的內(nèi)存映象為例,屏幕上顯示的不是i值30,而是顯示i的內(nèi)存地址編號(hào)6了。當(dāng)然,在你的實(shí)際操作中,i變量的地址值不會(huì)是這個(gè)數(shù)了。

這就是我所認(rèn)為的作為初學(xué)者應(yīng)該能夠想象到的變量存儲(chǔ)的實(shí)質(zhì)了。請(qǐng)這樣理解吧。

最后總結(jié)代碼如下:

#include "stdio.h"main(){  int i = 5;  printf("%d/n", i); /*①*/  printf("%d/n", &i); /*②*/  return(0);}

現(xiàn)在你可知道①、②兩個(gè)printf分別在屏幕上輸出的是i的什么東西啊?

程序運(yùn)行結(jié)果:

52686748Process returned 0 (0x0)  execution time : 0.079 sPress any key to continue.


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 托克逊县| 富锦市| 祁连县| 蒙自县| 桂东县| 中宁县| 芦山县| 桂阳县| 东乌珠穆沁旗| 嘉善县| 白朗县| 沂源县| 霍邱县| 商洛市| 长岛县| 邮箱| 朝阳市| 诸城市| 宣化县| 潜山县| 社会| 江阴市| 公安县| 鄄城县| 洞头县| 繁峙县| 南岸区| 包头市| 山东省| 怀远县| 乃东县| 迁西县| 桂阳县| 井冈山市| 达日县| 澜沧| 延安市| 韩城市| 安溪县| 银川市| 靖西县|