有什么价值?

时间:2016-07-15 16:42:00

标签: c debugging variables ide watch

我正在尝试学习C,并且已经在我在互联网上找到的一本书中尝试了一些练习。

对于专家来说,这个问题可能很容易,当我观察一些变量时,观察窗口中显示的值是什么。我指的是在将值赋给变量之前的状态。它们通常是长数,大约10位数,有时是负数。

我知道这似乎是一个愚蠢的问题,但我很好奇它们是什么。起初我以为他们是地址。

2 个答案:

答案 0 :(得分:2)

由于内存在解除分配或重新分配时未重置为特定值,因此您将看到使用该内存的最后一个代码留下的值。

这有时可能是一个安全问题。例如,如果该内存包含密码或其他敏感信息。因此,对于某些应用程序,在释放内存之前将内存清零非常重要。

答案 1 :(得分:2)

在为变量赋值之前,它具有先前在该存储器中发生的任何事情。一个函数中的变量的内存很可能用于某个其他函数中的不同类型的变量。如果之前的使用是针对float或指针,现在您将其用于int,则该值看起来非常随机。