c - 局部函数变量初始化需要处理时间?

标签 c variables time initialization local

局部函数变量初始化需要处理时间?例如:

void foo ( void ) {
    char *str = "hello";
    int num = 3;
}

或者,像全局变量一样,它们的值已经在二进制文件的只读部分中赋值了?

换句话说:与没有局部变量的函数相比,调用具有许多局部变量的函数是否更耗时?

编辑: 我看到这里的很多人都很生气,因为我似乎试图以一种非常挑剔/糟糕的方式优化我的代码,这不应该被考虑。我知道这一点。我问这个问题只是为了了解事物的行为和功能,而不是出于优化原因。谢谢。 顺便说一句,也许我的代码位于低功耗 MCU 上?考虑其他选择,PC 不是唯一的选择。

最佳答案

时间不多,但是是的。这需要时间。

在此示例中,文本“hello”已经作为常量存在于某处, 但是 str 必须在运行时设置为指向它。

并且值 3 必须存储在 num

关于c - 局部函数变量初始化需要处理时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2169199/

相关文章:

javascript - angular2 - 使变量更具可变性

javascript - JavaScript 中的引用问题?

php - 检索存储在 php 变量数组中的 mysql 表数据

c++ - 如何使用 x11 中的 xft 字体在窗口中心对齐文本

在bison中调用c函数

C - 如何将无符号整数秒转换为日期字符串

c# - C# 中的一天中的时间结构

c - Ncurses 在后台停止进程

mysql - 如何使用 SQL 查找不交叉的时间集?

java - 对日期和时间值进行排序