声明符和变量声明

本部分的其余部分介绍此列表中汇总的变量类型的声明的形式和含义。 具体而言,其余部分介绍如何声明:

变量的类型 DESCRIPTION
简单变量 具有整型或浮点类型的单值变量
数组 由具有相同类型的元素集合组成的变量
指针 指向其他变量并包含变量位置(以地址形式)而不是值的变量
枚举变量 包含一组命名整数常量中的一个值的简单变量
结构 由可具有不同类型的值集合组成的变量
联盟 由占用相同存储空间的不同类型的多个值组成的变量

声明符是声明的一部分,指定要引入程序的名称。 它可以包括修饰符(例如 * (指针指向)和任何Microsoft调用约定关键字。

Microsoft 专用

在此声明符中,

__declspec(thread) char *var;

char 是类型说明符, __declspec(thread)* 修饰符,也是 var 标识符名称。

结束 Microsoft 专用

使用声明符声明值数组、指向值的指针以及返回指定类型的值的函数。 声明符显示在本节后面的数组和指针声明中。

语法

declarator:
pointer 选择direct-declarator

direct-declarator:
identifier
( declarator )
direct-declarator [ constant-expression 选择]
direct-declarator ( parameter-type-list )
direct-declarator ( identifier-list 选择)

pointer:
* type-qualifier-list 选择
* type-qualifier-list 选择pointer

type-qualifier-list:
type-qualifier
type-qualifier-list type-qualifier

注释

有关引用 a declarator的语法declaration,请参阅声明概述或 C 语言语法摘要中的语法。

当声明符包含未修改的标识符时,要声明的项具有基类型。 如果标识符左侧显示星号(*),则该类型将修改为指针类型。 如果标识符后跟方括号([ ]),则类型将修改为数组类型。 如果括号遵循标识符,则类型将修改为函数类型。 有关解释声明中的优先级的详细信息,请参阅 解释更复杂的声明符

每个声明符声明至少一个标识符。 声明符必须包含类型说明符才能成为完整声明。 类型说明符提供:数组类型的元素的类型、指针类型寻址的对象类型或函数的返回类型。

本节稍后将更详细地讨论数组指针声明。 以下示例演示了几个简单的声明符形式:

int list[20]; // Declares an array of 20 int values named list
char *cp;     // Declares a pointer to a char value
double func( void ); // Declares a function named func, with no
                     // arguments, that returns a double value
int *aptr[10]; // Declares an array of 10 pointers

Microsoft 专用

Microsoft C 编译器不会限制可以修改算术、结构或联合类型的声明符的数量。 该数字仅受可用内存的限制。

结束 Microsoft 专用

另请参阅

声明和类型