C语言的数据类型
最近暑假正在看《C Primer Plus》,借此机会写一些笔记发布在博客上,以后复习也比较容易。
C语言的基本数据类型由11个关键字组成:int, float, double, char, short, long, unsigned, signed, _Bool, _Imaginary, _Complex。
这十一个关键字的不同组合可以生成不同的数据类型:
有符号或无符号(加 unsigned 关键字)整型:
- int —— 系统给定的基本整数类型,标准规定此类型存储空间不小于 16 位。
- short int / short —— 该类型可表示的整数小于或等于最大的 int 类型整数,标准规定此类型存储空间至少为 16 位。
- long int / long —— 该类型可表示的整数大于或等于最大的 int 类型,标准规定此类型存储空间至少占 32 位。
- long long int / long long —— 该类型可表示的整数大于或等于最大的 long 类型,标准规定此类型存储空间至少为 64 位。
字符类型:
- char —— 字符类型的关键字,此类型通常占 1 字节(8 位)的空间,但如果要表示基本字符集,也可以占用 16 位或更大的空间。在 C 语言中,字符类型其实存储的都是整数,之所以可以显示字符,是因为系统将以 char 类型存储的整数显示为了 ASCII 表或其他编码表对应的字符。所以 char 类型也可以用于存储或处理较小的整数类型,也可以使用 unsigned 关键字修饰 char 关键字(在一些系统中使用有符号的整数存储字符类型,有些系统使用无符号的,可以使用 signed 或 unsigned 关键字明确令系统使用某一种形式)。
布尔类型:
- _Bool —— 布尔类型是 C99 标准新添加的数据类型,用于表示 true 或 false。因为在 C 中使用 1 表示 true,0 表示 false,所以此类型只需要 1 位(0 或 1)的存储空间。
实数浮点类型:
- float —— 系统基本的浮点数据类型,可精确表示至少 6 有效数字。
- double —— 相比于 float 类型,此类型可以存储更大范围和更高精度的数值(更多有效数字,至少 10 位,通常会更多,和更大的指数)。
- long double —— 存储数值范围比 double 更大,原因同上。
复数和虚数浮点数:
- float _imaginary —— 带有虚数单位的 float 类型。
- double _Imaginary —— 带有虚数单位的 double 类型。
- long double _Imaginary —— 带有虚数单位的 long double 类型。
- float _Complex —— 由 float 类型组成实部和虚部的复数。
- double _Complex —— 由 double 类型组成实部和虚部的复数。
- long double _Complex —— 由 long double 类型组成实部和虚部的复数。
C语言的数据类型
https://maphical.cn/2017/07/data-type-in-c/