ZHCUAV8W january 1998 – march 2023 66AK2E05 , 66AK2H06 , 66AK2H12 , 66AK2H14 , AM1705 , AM1707 , AM1802 , AM1806 , AM1808 , AM1810 , AM5K2E04 , OMAP-L132 , OMAP-L137 , OMAP-L138 , SM470R1B1M-HT , TMS470R1A288 , TMS470R1A384 , TMS470R1A64 , TMS470R1B1M , TMS470R1B512 , TMS470R1B768
C/C++ 编译器在所有模式下都支持 ANSI/ISO 标准关键字 const 除外。此关键字使您能够更好地优化和控制某些数据对象的分配。您可以将常量限定符应用于任何变量或数组的定义,以确保其值不被更改。
限定为 常量的全局对象放置在 .const 段中。链接器从 ROM 或闪存中分配 .const 段,它们通常比 RAM 更丰富。const 数据存储分配规则有以下例外情况:
volatile const int
x
。假设将 Volatile 关键字分配给 RAM。(不允许程序修改 const volatile 对象,但可能会修改程序外部的内容。)在这些情况下,对象的存储与未使用 const 关键字时相同。
const 关键字的位置很重要。例如,下面的第一条语句定义了指向可修改 int 的常量指针 p。第二条语句定义了指向常量 int 的可修改指针 q:
int * const p = &x;
const int * q = &x;
使用 const 关键字,您可以定义大型常量表并将它们分配到系统 ROM 中。例如,若要分配 ROM 表,可使用以下定义:
const int digits[] = {0,1,2,3,4,5,6,7,8,9};