gpt4 book ai didi

c - 在 C 的堆栈之前,初始化局部变量的值存储在哪里?

转载 作者:太空宇宙 更新时间:2023-11-04 04:17:21 25 4
gpt4 key购买 nike

我有一个关于局部变量的问题。我很清楚在函数调用期间,变量的内存被分配,从函数返回后,内存被释放。但是程序从哪里知道在初始化期间要使用什么值?

void foo()
{
uint8_t x = 2u;
}

所以我的问题是,在调用函数之前,值 2 存储在内存中的什么位置?我猜它在文本段(在非 volatile 内存中)并从那里读取到堆栈。

感谢您的回答。

最佳答案

由编译器来决定。

该值甚至可能不会“存储”在任何地方:对于某些常量(例如零),只发出代码来按需计算值比从任何地方复制它更容易。

关于c - 在 C 的堆栈之前,初始化局部变量的值存储在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50319880/

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