2016-07-15 93 views
1

我正在嘗試學習C,並在我在互聯網上找到的一本書中嘗試了一些練習。什麼是價值?

對於您的專家,這個問題可能會很容易,當我觀察一些變量時,觀察窗口中顯示的值是什麼。我指的是它的狀態,一個值被分配給變量。它們通常是長數字,大約有10位數字,有時是負數。

我知道這可能看起來是一個愚蠢的問題,但我很好奇它們是什麼。起初我以爲他們是地址。

+5

很可能你在變量初始化之前看到了內存中的任何東西。 – NathanOliver

+1

具有標量類型的默認初始化變量的值不確定。 – MikeCAT

+3

這是相關http://stackoverflow.com/questions/1597405/what-happens-to-a-declared-uninitialized-variable-in-c-does-it-have-a-value – nicks

回答

2

由於內存在重新分配或重新分配時未被重置爲特定值,您將看到最後一個正在使用該內存的代碼留下的值。

這有時可能是一個安全問題。例如,如果該內存包含密碼或其他敏感信息。因此,對於某些應用程序來說,在釋放內存之前將其清零非常重要。

2

在爲變量指定一個值之前,它曾經在內存中發生過任何事情。很有可能一個函數中的變量的內存被用於其他函數中的另一種類型的變量。如果之前的使用是針對float或指針,現在您將其用於int,則該值看起來非常隨機。