為什麼指標是位元組,為什麼指標是4個位元組

2021-08-26 00:22:02 字數 2782 閱讀 9379

1樓:勇欣笑庹斐

對32位系統來說就是4個位元組的

因為指標在記憶體中就是

16進位制數

2樓:倒黴熊

現在電腦的記憶體不止有4個g了,8個g的都有了。

這裡的4個位元組,32位是地址匯流排的寬度,

址匯流排ab是專門用來傳送地址的,地址匯流排的位數決定了cpu可直接定址的記憶體空間大小,比如8位微機的地址匯流排為16位,則其最大可定址空間為2^16=64kb,16位微型機的地址匯流排為20位,其可定址空間為2^20=1mb。一般來說,若地址匯流排為n位,則可定址空間為2^n位元組。

就像你說的,32為可以表示最大4g的記憶體,不管你用不用了這麼多記憶體,它表示的是能夠定址到這麼大的記憶體,和你實際的記憶體沒關係。

3樓:

和平臺有關,你在32位平臺一般是4位元組咯,你在64位平臺一般就是8位元組咯

當然了,這個也和作業系統有關,比如說你64位的cpu也支援32位模式,你用32位的windows,指標就還是32位的,你用64位的windows,自然就是64位,8位元組的指標了

所以既要看你的cpu是否支援64位,也還是要看你的作業系統是什麼像你說的ax是16位的時候,32位的是eax,64位的是rax,當然都可以向下相容的,也就是你在64位指令集上的,也可以用eax的

4樓:飛龍五少爺

在32位系統中,指標的寬度是4個位元組寬的,即32位什麼是指標,指標就是記憶體中指向一個地址的記憶體變數,本身是做記憶體地址記錄

指標的作用,「引用傳遞」它主要起到「間接引用」的作用指標的設計起因 記憶體只不過是一個存放資料的空間,就好像我 的看電影時的電影院中的座位一樣。每個座位都要編號,我們的記憶體要存放各種各樣的資料,當然我們 要知道我們的這些資料存放在什麼位置吧!所以記憶體也要象座位一樣進行編號了,這就是我們所說的內 存編址。

座位可以是按一個座位一個號碼的從一號開始編號,記憶體則是按一個位元組一個位元組進行編址。每個位元組都有個編號,我們稱之為記憶體地址

參考地址

c語言中,指標變數為何只佔4位元組?

5樓:匿名使用者

首先要明白的是,指標變數是用來存地址的變數,也就是說,這個變數裡面存的內容是地址。

那麼開始解釋,cpu與記憶體進行直接互動時,cpu要獲得記憶體中的資料,就要知道這個資料在記憶體中所在的地址,那麼cpu就要在記憶體中定址。記憶體中的地址的基本單位為位元組,即一個位元組一個地址,32位cpu有32根地址匯流排,記憶體大小為2^32位元組,即4gb,也就是說,這4gb的記憶體中,每一位元組的記憶體空間都有自己的一個在記憶體中的地址。

重點來了,指標變數是用來存地址的,32位cpu中,要想指標能夠儲存這2^32次個地址,需要多大的空間呢?很明顯,4個位元組,即32位,32位的變數能表示的資料個數剛好為2^32個,能能夠把記憶體中的所有地址表示完全。

所以32位中,指標變數需要4位元組,以此內推其他位數cpu。

6樓:文化廚子

在c語言中,一般認為記憶體是一個大的位元組

陣列,基本單位是位元組,每一個位元組包含一個地址,有多少個地址,是有cpu的地址匯流排位數決定的,所有的地址一般稱作地址空間,比如32位的cpu,地址匯流排的位數是32位,它可描述的地址空間為0x0000 0000 0000 0000 ~ 2^32 - 1,正是因為此,所以在32位的系統上,一般指標佔4個位元組,如果是64位系統,它可描述的地址空間為0~2^64-1,如果是64位的編譯器,指標佔8個位元組。

7樓:鍵盤雀躍

記憶體地址 0x11223344h = 高地址位 + 低地址位

你說的a000h是地址中的高地址位或低地址位cpu決定記憶體的編址,如32位cpu有32條地址匯流排,對應的地址格式為 10 01 .... 01 01 = 32bit =4byte

64位 -> 01 01 10 10 ....01 = 64bit =8byte,而指標大小依舊是4byte.

ffffffffff600000-ffffffffff601000

8樓:匿名使用者

指標儲存的是計算機的記憶體地址,在同一臺機器同一個編譯器上,所有指標的大小都是固定的,一般都是4位元組。地址的大小跟資料型別沒有關係。

你說的a000h只是16位,是的,這個數可以是16位,但是如果是地址,那麼你是決定不了,只與機器和編譯器有關係。

9樓:匿名使用者

指標大小是

根據處理器而定的。

比如32位系統cpu一次處理32位也就是4個位元組,所以指標也就是4個位元組,最大的記憶體訪問也就為2^32=4g。

如果在64位系統中,指標就是8個位元組;但是一些編譯器的限定,在64位中也只有4個位元組。

另外在一些微控制器上指標就可能是1~3個位元組。

10樓:root棧

指標, 本質是指向記憶體的地址空間。32位的系統,記憶體地址空間從0x00000000到0xffffffff,4個位元組完全夠指向這些地址範圍了。同理, 16位系統,指標佔用2個位元組, 64位系統,指標佔用8個位元組

11樓:90後小白

指標指向第一個位元組的地址。一個位元組佔位,所以不管指標指向double還是int還是結構體型別都只佔4個位元組

12樓:匿名使用者

目前我們用的都是32位系統,也就是用4個位元組表示記憶體地址,所以指標佔用4個位元組

13樓:匿名使用者

指標只存記憶體地址,而記憶體地址是有固定大小的。所以,指標沒必要很大,夠用就行。所以官方定位4

c語言為什麼會有指標?c語言為什麼要有指標呢?

指標是c中的精髓,如果沒有,應該說就是一種很平庸的語言,從本質上說,指標體現了von neumann體系結構計算機也就是當今計算機的特徵,記憶體資料按照當前的解釋決定其意義,其指標的運算更是以機器實現的方式展現出來。具體的主要原因大致如下 1 函式的引數傳遞 c語言只有傳值這樣一種方式,在函式體內不...

Kdj是什麼指標,什麼是kdj指標?

kdj稱為隨機指標,它是由 d線形成的一種新式圖表線,專門用於分析中 短期 走勢,是威廉指標的一種延伸工具。kd線由喬治 蘭恩發明,在威廉指標的基礎上,引入了移動平 快 慢的概念,通過計算一定時間內的最高 最低價和 價間的波幅,反映 趨勢的強弱及超賣超買動態,是比較實用的技術指標。計算公式及方法 第...

什麼是用電指標

抽水蓄能電站的投資是指電站達到設計規模以前在勘測 設計 科研以及施工安裝過程中所花費的全部建設資金,用符號k表示,它由以下幾個部分組成 1 主體工程投資,包括上 下水庫擋水 洩水和輸水建築物 發電廠房及機電裝置等的投資 2 水庫淹沒 浸沒損失賠償費用及移民安置等費用 3 工程建築單位的生產管理費用 ...