【发布时间】:2012-11-17 06:09:48
【问题描述】:
我有一个关于在 C 中存储常量的问题。
如果我有以下陈述:
const int a = 5;
如果语句在全局范围内,则常量将存储在 .rodata 中。 我一直在为 MSP430 器件使用 TI 编译器。如果语句在本地范围内,则常量存储在堆栈中。
我不确定如果我在本地范围内将其声明为“静态常量”会发生什么,但我希望它存储在 .rodata 中。
这种行为正确吗?
【问题讨论】:
-
我不了解 TI 编译器,但大多数编译器会将
const int a = 5;与#define a 5类似,并且不会将其存储在任何特定位置。