C 性能:宏与常量

use*_*893 0 c memory performance preprocessor

这两个不同的程序之间有性能差异吗?

#define K 50

void main() {
    int k = K;
}
Run Code Online (Sandbox Code Playgroud)
void main() {
    int k = 50;
}
Run Code Online (Sandbox Code Playgroud)

dbu*_*ush 5

C 中的宏在实际编译阶段之前执行标记替换。

这意味着经过预处理后,第二段代码与第一段代码完全相同。