跳到主要内容

C++ 数据类型

提示
  1. 数据类型定义变量特性:C++中的数据类型用于声明变量,决定了与变量相关联的数据的类型和大小。
  2. 基本数据类型包括整数和浮点数:C++的基本数据类型包括int(整数)、float(浮点数)、double(双精度浮点数)、char(字符)等,每种类型有特定的大小和用途。
  3. 类型修饰符修改基本类型:C++中的类型修饰符,如signedunsignedshortlong,可以进一步修改一些基本数据类型,改变它们的存储大小和表示范围。

在 C++ 中,数据类型是变量的声明。这决定了与变量关联的数据类型和大小。例如,

int age = 13;

这里,age 是 int 类型的变量。这意味着,该变量只能存储 2 或 4 字节的整数。

C++ 基本数据类型

下表显示了基本数据类型、它们的含义和大小(以字节为单位):

数据类型含义大小(字节)
int整数2 或 4
float浮点数4
double双精度浮点数8
char字符1
wchar_t宽字符2
bool布尔型1
void0

现在,让我们更详细地讨论这些基本数据类型。

1. C++ int

  • 关键字 int 用于表示整数。
  • 它的大小通常是 4 字节。意味着,它可以存储从 -2147483648 到 2147483647 的值。
  • 例如,
int salary = 85000;

2. C++ float 和 double

  • floatdouble 用于存储浮点数(小数和指数)。
  • float 的大小是 4 字节,double 的大小是 8 字节。因此,double 的精度是 float 的两倍。要了解更多,请访问 C++ float 和 double。
  • 例如,
float area = 64.74;
double volume = 134.64534;

如上所述,这两种数据类型也用于指数。例如,

double distance = 45E12 // 45E12 等于 45*10^12

3. C++ char

  • 关键字 char 用于字符。
  • 它的大小是 1 字节。
  • C++ 中的字符用单引号 ' ' 括起来。
  • 例如,
char test = 'h';

注意: 在 C++ 中,char 变量中存储的是整数值,而不是字符本身。

4. C++ wchar_t

  • 宽字符 wchar_t 类似于 char 数据类型,除了它的大小是 2 字节而不是 1 字节。
  • 它用于表示比单个 char 需要更多内存来表示的字符。
  • 例如,
wchar_t test = L'ם' // 存储希伯来字符;

注意引号前的字母 L。

注意: 在 C++11 中还引入了另外两种固定大小的字符类型 char16_tchar32_t

5. C++ bool

  • bool 数据类型有两个可能的值:truefalse
  • 布尔值用于条件语句和循环(我们将在后面的章节中学习)。
  • 例如,
bool cond = false;

6. C++ void

  • 关键字 void 表示没有数据。它意味着“无”或“无值”。
  • 当我们学习函数和指针时,会使用 void。

注意: 我们不能声明 void 类型的变量。

C++ 类型修饰符

我们可以通过使用类型修饰符来进一步修改一些基本数据类型。C++ 中有 4 种类型修饰符,它们是:

  1. signed
  2. unsigned
  3. short
  4. long

我们可以使用上述修饰符来修改以下数据类型:

  • int
  • double
  • char

C++ 修改后的数据类型列表

数据类型大小(字节)含义
signed int4用于整数(等同于 int
unsigned int4只能存储正整数
short2用于小整数(范围 -32768 到 32767
unsigned short2用于小的正整数(范围 0 到 65535
long至少 4用于大整数(等同于 long int
unsigned long4用于大的正整数或 0(等同于 unsigned long int
long long8用于非常大的整数(等同于 long long int)。
unsigned long long8用于非常大的正整数或 0(等同于 unsigned long long int
long double12用于大的浮点数
signed char1用于字符(保证范围 -127 到 127
unsigned char1用于字符(范围 0 到 255

让我们看几个例子。

long b = 4523232;
long int c = 2345342;
long double d = 233434.56343;
short d = 3434233; // 错误!超出范围
unsigned int a = -5; // 错误!只能存储正数或 0

派生数据类型

从基本数据类型派生的数据类型是派生类型。例如:数组、指针、函数类型、结构等。

我们将在后续教程中学习这些派生数据类型。