gpt4 book ai didi

c - 为什么在声明期间存储垃圾值?

转载 作者:行者123 更新时间:2023-12-01 08:06:12 25 4
gpt4 key购买 nike

我多次听说,如果您不初始化一个变量,那么垃圾值就会存储在其中。

int i;
printf("%d",i);

上面的代码打印了任意一个垃圾值,但是我想知道如果没有初始化,垃圾值需要存储什么?

最佳答案

未初始化值的值不仅是未知值或垃圾值,而且是不确定的,评估该变量可能会调用未定义的行为或实现定义的行为。

一种可能的情况(可能是您正在看到的情况)是变量在求值时将返回先前存在于该内存地址中的值。因此,垃圾并不是显式写入到那个变量。

值得注意的是,不表现出您所看到的行为的语言(甚至 C 实现)会在允许您使用它之前通过向该区域显式写入零(或其他初始值)来做到这一点。

关于c - 为什么在声明期间存储垃圾值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21786028/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com