程序中的声明是指向编程语言翻译器提供有关数据对象的名称和类型的数据的语句。例如,考虑以下 C 声明 -
国际a, b;
该声明为编程语言翻译器提供了信息,即 a 和 b 是执行子程序期间所需的整数类型的数据对象。该声明还定义了数据对象在其生命周期内与名称 a 和 b 的绑定。
声明的各种目的如下 -
类型检查- 声明允许程序员进行静态类型检查,即在编译时而不是在执行时检查数据对象的类型。
存储表示的选择- 声明支持有关已声明数据对象类型的数据,这有助于编程语言翻译器确定该数据对象的良好可能存储表示。这有助于减少被翻译程序的整体存储要求和执行时间。
存储管理- 声明还用于指示数据对象的预期生命周期,从而可以在程序执行期间使用更有效的存储管理过程。例如,在 C 中,一些数据对象可以在子程序的开头声明,而另一些数据对象则是通过使用特定函数 malloc 动态生成的。
多态操作- 如果一个操作可以根据其参数的类型采用多种实现,则该操作被称为多态操作。该声明允许编程语言翻译器在编译时决定由重载操作符号命名的特定操作。例如在 C 中,数据对象 a 和 b 的声明有助于确定由 a + b 命名的可能的加法运算(整数加法或浮点加法)。
有两种类型的声明如下 -
显式声明- 显式声明是程序中列出数据对象名称并定义它们是特定类型的语句。显式声明创建到类型的静态绑定。显式声明的示例由以下 C 声明组成。
国际a, b;
隐式声明- 隐式声明是在没有给出显式声明时成立的声明。例如,在 FORTRAN 中,在未显式声明的程序中开发的标识符按照以下约定隐式声明:如果标识符以字母 I、J、K、L、M 或 N 之一开头,则它是隐式声明为整数类型;否则它被隐式声明为 REAL 类型。