什么是声明?


程序中的声明是指向编程语言翻译器提供有关数据对象名称和数据类型信息的语句。例如,考虑以下 C 声明:

int a, b;

此声明向编程语言翻译器提供信息,即 a 和 b 是在子程序执行期间所需的整数类型的数据对象。声明还在其生命周期内定义了数据对象与名称 a 和 b 的绑定。

声明的目的

声明的各种目的是:

  • 类型检查 - 声明允许程序员进行静态类型检查,即在编译时而不是在运行时检查数据对象的类型。

  • 存储表示的选择 - 声明支持有关已声明数据对象类型的信息,这有助于编程语言翻译器为该数据对象确定最佳可能的存储表示。这有助于减少正在翻译的程序的整体存储需求和执行时间。

  • 存储管理 - 声明还用于指示所需的数据对象的生命周期,这使得在程序执行期间可以使用更有效的存储管理过程。例如,在 C 中,一些数据对象可以在子程序的开头声明,而其他一些数据对象则由特定函数 malloc 动态生成。

  • 多态操作 - 如果一个操作可以根据其参数的类型采用多种实现,则称该操作为多态操作。声明允许编程语言翻译器在编译时确定由重载操作符号命名的特定操作。例如,在 C 中,数据对象 a 和 b 的声明有助于确定由 a + b 命名的可能的加法运算(整数加法或浮点数加法)。

声明的类型

声明有两种类型,如下所示:

  • 显式声明 - 显式声明是程序中的一条语句,它列出数据对象名称并定义它们是特定类型。显式声明创建到类型的静态绑定。显式声明的示例包括以下 C 声明。

int a, b;

  • 隐式声明 - 隐式声明是在未给出显式声明时存在的声明。例如,在 FORTRAN 中,在程序中出现的未明确声明的标识符将根据以下约定隐式声明:如果标识符以字母 I、J、K、L、M 或 N 开头,则隐式声明为整数类型;否则隐式声明为 REAL 类型。

更新时间: 2021年10月22日

5K+ 浏览量

开启你的职业生涯

通过完成课程获得认证

开始学习
广告