C變數位置

2022-12-08 12:16:06 字數 918 閱讀 8488

1樓:學小平

這個地址存放是隨機的,一般與編譯器有關。問題在於你感覺定義了指標、指標的指標和指標的指標的指標,然後通過%p輸出。感覺好像很複雜,其實就是變數的定義而已。

對於c而言,這些變數都是在函式的棧裡面零時分配的,無關於地址的前後。

2樓:

這個是隨機的指標,指標裡面其實存放的也是地址,指向變數的地址單元。

這個指標變數的地址,是由作業系統隨機分配記憶體的。 所以列印出來的地址值無特定的規律。

3樓:周生

應該是採用壓棧的形式,先從一個記憶體頁面的後邊放的

4樓:卻憶楣

以花括號{}給包圍起來的**段稱為block(我不知道它的準確中文翻譯是不是叫模組),只要在block開始的地方定義變數就不會錯,且該變數的作用域和生存期(除了static限定)只在該block裡,且該變數可以遮蔽block外的變數.譬如在block外已經有一個變數名為a = 1的int變數,在block裡允許定義一個同名的變數int a = 2,但在block裡試著用printf列印的話,會發現printf("%d", a)結果是2.這就叫做遮蔽外面的變數!

5樓:遺失的巨蟹青春

c將變數 存放到堆區中,堆的特點是這在一個方向操作,可以是地址變大的,也可以是地址變小的

這要看具體的cpu型號

6樓:

在你的系統裡應該是先宣告的指標變數 比較大 而後比較小

指標是連續的 但通常都是先聲的比較大

7樓:牧蕙蘭

這個程式是在棧中,棧內分配空間是從高地址向低地址分配

8樓:少飛侯小號

隨機的啦,不要太糾結。。。。

c語言變數

bit ircvstr unsigned char sla,unsigned char suba,unsigned char s,unsigned char no 在迴圈中 for i 0 i s rcvbyte ack i2c 0 s 再看 語句 s rcvbyte 中的 s。這個 s的含義是將 ...

c語言中,怎麼判斷變數的型別 如何判斷變數是int還是l

1 首先在duc語言中,long long 是c99標準對整形類zhi型做的擴充套件,dao每個long long型別的變數佔8位元組版,64位。如下圖使用 lld輸出。權 2 這種輸出方法的結果如下圖所示,可以看到輸出結果是0,而很明顯輸出的結果不應該為零,也就是說輸出結果是錯誤的。3 這時要看下...

c語言宣告變數的問題

你好,在c語言裡面函式都應該先宣告再定義,函式在使用之前是要宣告的,但是如果在使用之前就已經定義了,那麼函式可以直接使用而不要定義。舉例如下 先宣告後定義 int max int a,int b 宣告int main void int max int a,int b 定義直接使用 定義在使用前 in...