局部函数变量初始化需要处理时间?例如:
void foo ( void ) {
char *str = "hello";
int num = 3;
}
或者,像全局变量一样,它们的值已经在二进制文件的只读部分中赋值了?
换句话说:与没有局部变量的函数相比,调用具有许多局部变量的函数是否更耗时?
编辑: 我看到这里的很多人都很生气,因为我似乎试图以一种非常挑剔/糟糕的方式优化我的代码,这不应该被考虑。我知道这一点。我问这个问题只是为了了解事物的行为和功能,而不是出于优化原因。谢谢。 顺便说一句,也许我的代码位于低功耗 MCU 上?考虑其他选择,PC 不是唯一的选择。
最佳答案
时间不多,但是是的。这需要时间。
在此示例中,文本“hello”已经作为常量存在于某处,
但是 str
必须在运行时设置为指向它。
并且值 3 必须存储在 num
关于c - 局部函数变量初始化需要处理时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2169199/