變數的宣告 定義 賦值和初始化有什麼區別?

時間 2021-06-08 03:42:24

1樓:迎風凌亂

Declaring a variable reserves a name and some space in memory for a variable of the specified type, but doesn't give it a value. Initializing gives the variable a value.

int value1; // declares integer

variable value1 = 6; // initializes integer variable that's already been declared

int value2 = 5; // declares and initializes integer variable

上面是宣告和初始化

定義:函式或類裡面的內容,功能地實現

class klass ;

賦值和初始化:

第一次賦值叫初始化

ref:

The differences between initialize, define, declare a variable

What is the difference between declaring a variable and initializing a variable?

2樓:

宣告: 在環境/上下文中指定乙個變數的名字。

初始化:給乙個宣告後尚未初始化的變數乙個有意義的初始值。

賦值 : 銷毀乙個變數原來的值,並賦予乙個新值。相當於改變了乙個變數的狀態。

注意:應注意區分初始化和賦值,在初始化之前不應該允許對變數進行賦值操作。

3樓:王小帆

變數宣告或定義,代表在記憶體中開闢一塊區域。

賦值,代表更改這塊區域裡的值。

初始化,即開闢記憶體區域時賦的值。不指定的話開闢時賦該型別的預設值。

在C 中,定義變數時直接初始化與先定義,後賦值在時間複雜度上有區別嗎?

Ivony 1 對於編譯器而言,在同乙個作用域中變數宣告位置對編譯結果沒有影響,變數只要在使用前被宣告即可。2 這個問題和時間複雜度一毛錢關係都沒有。 alphonsez 如果是簡單型別,比如int等,那麼定義的時候沒有初始值,那麼只是在stack上分配空間,並沒有額外初始化動作。然後再賦值就會把值...

Java靜態變數宣告時候初始化該變數與放在構造器中初始化該變數有何區別

盤絲大仙 1.stackoverflow,構造方法遞迴呼叫 2.乙個類的類載入,在應用執行時,只會執行一次,靜態變數的宣告初始化賦值是類載入動作的一部分,所以不管new例項幾次,也就只會執行一次。所謂的成員變數,一般指的是例項內的屬性變數 跟類內的靜態變數要區分開。其實就是乙個static修飾的差別...

C 的類成員初始化 定義的時候寫 寫在初始化列表裡 寫在建構函式函式體中 有什麼區別?

jencol teng 首先,初始化順序是按照宣告順序初始化。其次,C 11之後,允許直接在類中初始化變數,C 11之前只有部分編譯器允許。其初始化效率和初始化列表一樣。重點 如果變數放在初始化列表,那麼在類初始化的時候,直接呼叫帶引數的建構函式初始化,而不是使用預設建構函式初始化。來乙個例子 cl...