常量

2019-01-14

常量


对于在程序运行期间保持不变的值,Pascal 允许通过常量来声明。声明常量不必特定数据类型,但需要赋一个初值。编译器会根据所赋初值自动选用合适的数据类型。例如:

const

Thousand = 1000;
 Pi = 3.14;
 AuthorName = 'Marco Cantù';

Delphi 根据常量的值来决定它的数据类型。上例中的 Thousand 变量,Delphi 会选用 SmallInt 数据类型 (短整型--能容纳 Thousand 变量的最小整数类型)。如果你想告诉 Delphi 采用特定的类型,你可在声明中加入类型名,方法如下:

const

 Thousand: Integer = 1000;

对于声名的常量,编译器有两种编译选择:第一种为常量分配内存,并把常量的值放入内存;第二种在常量每次使用时复制常量值。第二种方法比较适合简单常量。

注意:16 位的 Delphi 允许你在程序运行期间改变已定义的常量值,就象一个变量一样。32 位的 Delphi 为了向后兼容仍容许这种操作,只要你附加 $J 编译指令,或选择工程选项对话框中 Compiler (编译器) 页的 Assignable typed constants 复选框就行。尽管如此,这里我还是要强烈建议万不得以不要使用上述操作,因为把新值赋给常量将使编译器不能对常量进行优化,与其如此不如直接声明一个变量。


阅读89