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/
作者
MaphicalYng
发布于
2017年7月21日
许可协议