数据声明和定义概述

声明 确定程序中使用的数据对象的名称和特征。 定义 为数据对象分配存储器,并将标识与该对象相关联。 当您声明或定义 类型时,不会分配任何存储器。

下表显示了声明和定义的示例。 第一列中声明的标识不分配存储器; 它们引用相应的定义。 第二列中声明的标识分配存储器; 它们都是声明和定义。

声明 声明和定义
extern double pi; double pi = 3.14159265;
struct payroll;
struct payroll {
                  char *name;
                  float salary;
               } employee;
注: C C99 标准不再要求所有声明都出现在第一个语句之前的函数开头。 与 C++ 一样,您可以将声明与代码中的其他语句混合使用。
声明确定数据对象及其标识的以下属性:
  • 作用域,描述可在其中使用标识来访问其对象的程序文本区域
  • 可视性,用于描述可对标识的对象进行合法访问的程序文本区域
  • 持续时间,用于定义标识在内存中分配了实际物理对象的时间段
  • 链接,用于描述标识与一个特定对象的正确关联
  • 类型,用于确定分配给对象的内存量以及程序应如何解释在该对象的存储分配中找到的位模式
数据对象的声明元素如下所示:

IBM 扩展 IBM® Extension 的开始。

此外, ILE C/C++ 允许您使用 属性 来修改数据对象的属性。 类型 属性 (可用于修改用户定义类型的定义) 在 类型属性中进行了描述。 变量属性 (可用于修改变量声明) 在 变量属性中进行了描述。

IBM 扩展 IBM Extension 结束。

所有声明都具有以下格式:

数据声明语法

读取语法图跳过可视语法图storage_class_说明符类型限定符type_说明符,声明符初始化方法;
相关信息