gpt4 book ai didi

c - 为什么 C 标准未定义不确定变量的使用?

转载 作者:太空狗 更新时间:2023-10-29 16:50:56 27 4
gpt4 key购买 nike

垃圾值存储在哪里,用于什么目的?

最佳答案

出于效率原因,C 选择不将变量初始化为某个自动值。为了初始化这些数据,必须添加指令。这是一个例子:

int main(int argc, const char *argv[])
{
int x;
return x;
}

生成:

pushl %ebp
movl %esp, %ebp
subl $16, %esp
movl -4(%ebp), %eax
leave
ret

虽然这段代码:

int main(int argc, const char *argv[])
{
int x=1;
return x;
}

生成:

pushl %ebp
movl %esp, %ebp
subl $16, %esp
movl $1, -4(%ebp)
movl -4(%ebp), %eax
leave
ret

如您所见,使用了一条完整的额外指令将 1 移入 x。这曾经很重要,在嵌入式系统上仍然如此。

关于c - 为什么 C 标准未定义不确定变量的使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3248118/

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