C 语言的数据类型关键字
最初 K&R 给出的关键字
- int
- long
- short
- unsigned
- char
- float
- double
C 90 标准添加的关键字
- signed
- void
C 99 标准添加的关键字
- _Bool
- _Complex
- _Imaginary
按计算机的储存方式可分为两大基本类型:整数类型 和 浮点数类型
位、字节、字
- 最小的存储单元是位(bit),可以存储 0 或 1
- 最常用的存储单位是字节(byte),1 字节为 8 位(C 语言中定义略有不同)
- 字(word)是指设计计算机时给定的自然存储单位(64 位操作系统,基于 x64 的处理器)
除了 int、long、short ,还有其他整数类型
- long long
现在,计算机普遍使用 64 位处理器,为了操作 64 位的整数,才引入 long long(64位),long(32位)
short(16位)、int(16位或32位),这是常见的设置。因为某些类型在不同系统(16位机或32位机)
中的功能不一样,C99 新增了两个头文件 stdint.h 和 inttypes.h 来确保 C语言程序的可移植性
以下类型别名是精确宽度整数类型
例如:
int32_t 表示 32 位的有符号整数类型。在使用 32 位 int 的系统中,头文件会把 int32_t 作为 int 的别名
不同的系统也可以定义相同的类型名,例如:
int 为 16 位,long 为 32 位的系统会把 int32_t 作为 long 的别名。然后,使用 int32_t 类型编写程序,
并包含 stdint.h 头文件时,编译器会把 int 或 long 替换成与当前系统匹配的类型
如果系统不支持精确宽度整数类型,则是用最小宽度类型