c語言中定義int變數預設值是多少

2021-12-25 10:25:11 字數 1417 閱讀 6231

1樓:風若遠去何人留

區分變數的型別,有兩種情況。

1 區域性變數。

區域性變數在沒有顯式初始化時,其值c語言規範沒做要求,可以是隨機值,也可以是編譯器隨意給定的值。

比如gcc編譯器的區域性變數就是隨機值,可能為任何值。而微軟的編譯器,如vc或vs,則會初始化為全c,即0xcccccccc。

2 全域性變數或靜態區域性變數。

所有的全域性變數,即定義在函式外的變數,預設值為0。

所有的靜態區域性變數,即定義在函式內部的

static int name;

形式的,預設初始化為0。

c語言問題——未初始化int變數的初值

2樓:

c語言問題未初始化int變數的初值是設定錯誤造成的,解決方法為:

1、首先我們開啟我們的編譯器,在main函式中寫。

2、然後我們宣告定義變數的型別,比如int(整形)double(雙精度)float(浮點型)char(字元型),已 int整形為例。

3、之後要有個空格。

4、接下來寫我們的變數名,注意區分大小寫,大小寫在c語言中是不一樣的。

5、如果想宣告一個型別的多個變數中間要加上逗號。

6、以宣告a,b兩個變數為例,注意在結束時不要忘記了分號。

3樓:風若遠去何人留

int變數未初始化的預設初值,和變數的型別有關。

1 區域性變數,在未初始化情況下,初值為隨機值。c規範對該初值並沒有做規定,具體實現由編譯器決定。如vc/vs等編譯器,會將初始值值為0xcccccccc, 而gcc等編譯器則是不可預知的隨機值。

2 靜態區域性變數,即帶static修飾的區域性變數。

全域性變數和靜態全域性變數,即定義在函式外,不屬於任何一個函式的變數。

這幾種預設初值為0.

4樓:匿名使用者

沒有初始化,記憶體上的值是任意的,但只要你宣告瞭變數,變數的地址就是固定的了,因此裡面的值,無論你重啟編譯器多少次,結果都是一樣的。如果你在下面再定義一個int型別的變數,再列印看看,它的值也許就跟你上面的值不同

不初始化就參與運算是很危險的,有的編譯器是不允許這樣操作的,因此變數最好要初始化

5樓:匿名使用者

在debug配置中,vc++自動把未初始化的空間填充了0xcc,int型的就是0xcccccccc,按有符號整數列印,就是-858993460了

6樓:匿名使用者

全域性是0

區域性的int預設的是-858993460,即0xcccccccc。

7樓:

你有沒有初始化?沒有的話 系統預設分配最大值

8樓:

你重啟電腦,說不定就不一樣了

c語言全域性變數的定義,C語言中如何定義全域性變數

在所有函式外部定義的變數稱為全域性變數 global variable 它的作用域預設是整個程式,也就是所有的原始檔,包括 c 和 h 檔案。例如 int a,b 全域性變數 void func1 todo float x,y 全域性變數 int func2 todo int main todo r...

C 圓類,要求定義建構函式(以半徑為引數,預設值為0,周長和麵積在建構函式中生成)和複製建構函式

不會的。c 類的建構函式詳解 一 建構函式是幹什麼的 class counter private 資料成員 int m value 該類物件被建立時,編譯系統物件分配記憶體空間,並自動呼叫該建構函式 由建構函式完成成員的初始化工作 eg counter c1 編譯系統為物件c1的每個資料成員 m v...

C語言中,int910的值是0還是

c裡整除除以整數結果本身就是整數,9 10結果就是0,不需要再做轉換,另外c裡沒有int這個方法,如果是強制轉換,也要寫成 int 9 10 如果是小數強制轉換後會只取整數部分,比如說 int 3.9結果就是3.注 如果你希望兩整數相除結果是浮點數,可以寫成比如int a 10,b 3 float ...