C語言,在迴圈中定義變數的地址分配問題

2021-04-28 17:33:13 字數 1091 閱讀 2840

1樓:匿名使用者

1、理論上是不一樣的bai。但是在實du際中,如果僅僅是進行這zhi樣的迴圈,那麼地址dao是不變的,這回是因為剛剛i被分配

答的地址釋放後沒被其他量佔據,所以再分配的時候還是在原來的地方進行。

2、可以寫個程式來檢測下,檢測的方法自然是單步執行,檢視a的地址比如下面的程式,可以檢視&a和p的值,會發現&a的值不會變,而p的值由一個系統給它分配的地址變為a的地址之後就不會再變,它的值和&a的值始終一樣且不變。

2樓:匿名使用者

是一樣抄的,你可以寫個程式來檢測下,檢測的方法自然是單步執行,檢視a的地址比如下面的程式,你就可以檢視&a和p的值,你會發現&a的值不會變,而p的值由一個系統給它分配的地址變為a的地址之後就不會再變,它的值和&a的值始終一樣且不變

#includevoid main()}

3樓:匿名使用者

理論上是不一樣的

但是在實際中,如果僅僅是進行這樣的迴圈,那麼地址是不變的,這是因為剛剛i被分配的地址釋放後沒被其他量佔據,所以再分配的時候還是在原來的地方進行。

4樓:匿名使用者

我個人覺得不一樣吧,每次不可能都分配到那塊記憶體吧。除非你用了指標。

如何在c語言中定義一個變數在一個絕對地址

5樓:

c中的「變數」用識別符號表示,叫「變數名」;變數名的管理有一套對程式設計者透明的機制,所以不能將變數定義在一個程式設計師主觀想像的地方。但指標變數例外,因為指標變數的值是地址值,所以可以將一個具體數值強制為同型別指標再賦給指標變數,如int *p=(int *)1234567;,這就把1234567這個地址值賦給指標變數p了——但這是很危險的操作,不僅不提倡,通常是禁止的,只是語法上合法。

c語言中定義一個變數a,其地址還會不會變了?像a=b,意思是值變了,地址沒變?那怎麼變化a的地址

6樓:匿名使用者

不會,a=b的意思是把b賦值給a,舉個例子就是a=1的意思就是把1這個值賦予給a,1的值既不會變化也不會改變地址。想要變化a的地址應該用指標變數吧,a=&b這種。

c語言中,什麼樣的變數定義是合法的

c項是合法的。在vb6中,變數的命名必須遵循以下規則 1 變數名必須以字母或下劃線打頭,名字中間只能由字母 數字和下劃線 組成 最後一個字元可以是型別說明符 2 變數名的長度不得超過255個字元 3 變數名在有效的範圍內必須是唯一的。4 變數名不能是vb中的保留字 關鍵字 也不能是末尾帶型別說明符的...

在c語言中,若變數已正確定義並賦值,則該表示式 a a

include int main void 如果如上編寫程式,則無輸出 a a 7 語句為正確的 而a 7 b c 語句為錯誤的 如果寫成a a 7 c b 同樣也會出現錯誤若改為 include int main void 則結果為 10 6 9 這種寫法相當於 a 7 c b a a 7 第一句...

請問C語言中的定義變數和整型是什麼意思

c中資料分為變數和常量.在程式設計時,變數必須先定義.對於初學階段通常使用整型變數 大多為十進位制 例如,int a 10 定義十進位制整型變數a,並給它負值10.變數,顧名思義是變化的.如果接下來程式中出現a 10,則a的值就變為20.c就是入門不易,慢慢堅持就沒問題的.定義變數 就是定義一個不定...