C語言裡指標指不論指向任何變數它自身都只佔位元組為什麼

2021-04-20 06:48:47 字數 1699 閱讀 8746

1樓:匿名使用者

指標存放復的是記憶體地制址.

記憶體地址多少位,是由編譯器決定的.

編譯器如果是32位的,那麼地址就是4位元組.

如果是64位的,那麼就是八位元組.

不會因為存放資料型別的不同而變化.

就像家裡的門牌號, 不管家裡住多少人, 是別墅還是平房, 門牌號都是街道統一規定的.

2樓:迷迷惘惘的娃兒

指標存放的是一個記憶體地址,32位系統中一個地址的長度為32位,所以一個指標的大小也是32位,即4位元組

3樓:匿名使用者

對啊bai

指標是存放地址用滴。du。

打個比方,zhi

你要寄一封信,dao得寫郵政編碼吧。。內

4樓:匿名使用者

指標自己也是一個變數 只不過這個變數代表著一塊記憶體地址。

因為32位系統地址寬度為4個位元組。為了表示地址,指標長度就是32位

5樓:匿名使用者

這是編譯器決定的,

copy

和int,char,long佔幾個位元組一樣。

在dos系統的tc編譯器下就有2位元組的指標,在32位windows作業系統(xp,win7 32位)vc編譯器下(最常用的環境)指標就是4個位元組;

在64位windows(win7 64)的 vc(x64設定)下有8個位元組的指標

6樓:hello嗨

因為儲存地址只要四個位元組,地址就是個數字,所以四個位元組就可以

7樓:veket的小號

pc主機板地址匯流排32位 32位幾個位元組

8樓:麥湉繩瑋琪

一個指標變數在記憶體中佔兩個位元組(small模式編譯)

一個指標變數在記憶體中佔四個位元組(32位機器上)

一般都是32位機器的,所以四個位元組咯。

在c語言中指標變數佔2個還是4個位元組????老師說2個。。。。我覺得是4個。。

9樓:空雪夢見

ms-dos下是2個,windows下有

抄2個的有bai4個的有8個的,看是

du16位程式

還是32位程式還是64位程式。

說2個的那是很早很早以前的教材,然後這幫選教材的人又不跟進時代……如果你用的是turbo c,那麼2個。用的vc,大部分時候是4個,編譯的時候設定成64位那麼就是8個

10樓:示申僉

現在都是32位和64位系統了,所以要麼是4個,要麼就是8個,所以你可以寫一版段c程式來測試,

看權sizeof(char *)值到底是多少就知道了。

sizeof(int *)==sizeof(double *)==sizeof(char *)

11樓:匿名使用者

和具bai體的編譯器選項du

有關係,如果編譯

zhi器編譯時選擇的dao是一款16位的cpu那麼指標就是專2個字屬節,32位的cpu就是4個位元組,64位則是8個位元組。特別的,大部分編譯器關於cpu的選項包含三個部分,cpu的型別-cpu的指令型別-作業系統型別,3者共同決定了目標cpu是多少位

12樓:匿名使用者

測試不就得了,但是據我所知,好像不同的系統和不同的軟體會產生差異的說!!!

c語言中,當指標指向變數後,指標的值改變了,變數的會變嗎?如果變數的改了,指標的也會改嗎

指標的值改了復 你是說指標裡面 制儲存的地址改了還是指標指向的資料的值改了.前者會讓指標指向另一個地址,後者會改變對應記憶體地址的值.變數的改了 指標本來就是指向一個記憶體地址的.你指的 指標的也會改 是說指標指向的值也會改,確實是這樣.對指標進行解引用之後的操作相當於對變數本身進行操作,獲取值時亦...

C語言指標變數的值與它所指向的空間中的內容有什麼區別

指標變數的值是個地址,他所指向空間中的內容是個具體的數值,兩個完全不同 c語言的指標部分 p與p區別 c語言的指標部分 p與p區別如下 1 作用不同 p表示此指標指向的記憶體地址中存放的內容。p是一個指標變數的名字,表示此指標變數指向的記憶體地址。2 輸出內容的格式不同 p常用在一個和指標型別一致的...

c語言指標問題?指標和指標變數我區分不了求指

其實這裡有這麼幾點需要明白 我們通常會先宣告定義一個變數。如 int a a 10 那麼我們就在記憶體中開闢了一塊空間,我們把這空間用a來標記。我們把a叫做整型變數!很容易理解a變數此時的值或內容是10,但還有一個問題你要知道,我們怎麼樣才能找到a在記憶體中的位置?這就是用這塊記憶體的開始的地址來標...