欧美大屁股bbbbxxxx,狼人大香伊蕉国产www亚洲,男ji大巴进入女人的视频小说,男人把ji大巴放进女人免费视频,免费情侣作爱视频

歡迎來到入門教程網(wǎng)!

C語言

當前位置:主頁 > 軟件編程 > C語言 >

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

來源:本站原創(chuàng)|時間:2020-01-10|欄目:C語言|點擊: 次

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

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

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

int i;
char a;

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

我們又如何來理解變量是如何存在的呢。當我們?nèi)缦侣暶髯兞繒r:

int i;
char a;

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

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

賦值給變量

再看下面賦值:

i = 30;
a = 't';

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

變量在哪里?

即我想知道變量的地址。

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

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

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

printf("%x", &i);

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

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

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

#include "stdio.h"

main()
{
  int i = 5;
  printf("%d\n", i); /*①*/
  printf("%d\n", &i); /*②*/
  return(0);
}

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

程序運行結(jié)果:

5
2686748

Process returned 0 (0x0)  execution time : 0.079 s
Press any key to continue.

網(wǎng)頁制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語言數(shù)據(jù)庫服務(wù)器

如果侵犯了您的權(quán)利,請與我們聯(lián)系,我們將在24小時內(nèi)進行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有