C类型说明符

在声明中的类型说明符定义变量或函数声明中的类型。

语法

  • 类型说明符:
    void

    char

    short

    int

    long

    float

    double

    签名

    unsigned

    结构或联合说明符

    枚举说明符

    typedef 名称

签名的字符签名的 int有符号短 int签名的长的 int 类型,以及它们的 unsigned 复制和 enum一起,称为 “集成”类型。 float二进制文件和 long double 类型说明符称为 “浮动”或 “浮点类型”。 可以在变量或函数声明中使用任何整型或浮点类型说明符。 如果 类型说明符 在声明中不提供,则会采用 int。

可选关键字 签名 和 unsigned 前面或后面任何整型,除此之外, enum,并且可以分别单独还用作类型说明符,,在他们了解作为 签名的 int 和 unsigned int情况下,。 当使用单独的,关键字 int 假定为 签名。 当使用单独的,关键字 longshort 理解为 长的 int 和 short int。

枚举类型是基本的类型。 键入枚举类型的说明符讨论在 枚举声明

关键字 void 有三个使用:若要指定函数返回类型,指定参数类型为不带参数的功能列表和指定指针传递给非指定的类型。 可以使用 void 类型声明不返回值的函数或声明指向一个未指定的类型。 在函数名之后时,,那么,当在括号内单独出现请参见 参数 有关 void 的信息。

Microsoft 专用

类型检查现在是 ANSI 兼容的,这意味着,类型 short 和类型 int 不同类型。 例如,下面是在之前版本的编译器接受的 Microsoft C 编译器的一个重新定义。

int   myfunc();
short myfunc();

下一个示例还会生成有关间接的警告到各种类型:

int *pi;
short *ps;

ps = pi;  /* Now generates warning */

Microsoft C 编译器还会生成不同的警告在符号上。 例如:

signed int *pi;
unsigned int *pu

pi = pu;  /* Now generates warning */

键入 void 表达式为副作用进行计算。 不能使用具有类型 void 在表达式 (不存在) 的值,也不能将 void 表达式 (通过隐式或显式转换) 为除 void的任何类型。 如果使用表达式任何其他输入 void 表达式所需的上下文,其值被丢弃。

希望符合 ANSI 规范, void ** 不能用作 int **。 仅 void* 可以用作一个没有指定类型的指针。

特定于 Microsoft 的结尾

可以使用 typedef 说明创建附加类型说明符,如 Typedef 声明所述。 有关每个类型的范围信息,请参见 基本类型的存储

请参见

概念

声明和类型