C++ 数据类型
提示
- 数据类型定义变量特性:C++中的数据类型用于声明变 量,决定了与变量相关联的数据的类型和大小。
- 基本数据类型包括整数和浮点数:C++的基本数据类型包括
int
(整数)、float
(浮点数)、double
(双精度浮点数)、char
(字符)等,每种类型有特定的大小和用途。 - 类型修饰符修改基本类型:C++中的类型修饰符,如
signed
、unsigned
、short
、long
,可以进一步修改一些基本数据类型,改变它们的存储大小和表示范围。
在 C++ 中,数据类型是变量的声明。这决定了与变量关联的数据类型和大小。例如,
int age = 13;
这里,age 是 int
类型的变量。这意味着,该变量只能存储 2 或 4 字节的整数。
C++ 基本数据类型
下表显示了基本数据类型、它们的含义和大小(以字节为单位):
数据类型 | 含义 | 大小(字节) |
---|---|---|
int | 整数 | 2 或 4 |
float | 浮点数 | 4 |
double | 双精度浮点数 | 8 |
char | 字符 | 1 |
wchar_t | 宽字符 | 2 |
bool | 布尔型 | 1 |
void | 空 | 0 |
现在,让我们更详细地讨论这些基本数据类型。
1. C++ int
- 关键字
int
用于表示整数。 - 它的大小通常是 4 字节。意味着,它可以存储从 -2147483648 到 2147483647 的值。
- 例如,
int salary = 85000;
2. C++ float 和 double
float
和double
用于存储浮点数(小数和指数)。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_t
和 char32_t
。
5. C++ bool
bool
数据类型有两个可能的值:true
或false
。- 布尔值用于条件语句和循环(我们将在后面的章节中学习)。
- 例如,
bool cond = false;
6. C++ void
- 关键字
void
表示没有数据。它意味着“无”或“无值”。 - 当我们学习函数和指针时,会使用 void。
注意: 我们不能声明 void
类型的变量。
C++ 类型修饰符
我们可以通过使用类型修饰符来进一步修改一些基本数据类型。C++ 中有 4 种类型修饰符,它们是:
signed
unsigned
short
long
我们可以使用上述修饰符来修改以下数据类型:
int
double
char
C++ 修改后的数据类型列表
数据类型 | 大小(字节) | 含义 |
---|---|---|
signed int | 4 | 用于整数(等同于 int ) |
unsigned int | 4 | 只能存储正整数 |
short | 2 | 用于小整数(范围 -32768 到 32767) |
unsigned short | 2 | 用于小的正整数(范围 0 到 65535) |
long | 至少 4 | 用于大整数(等同于 long int ) |
unsigned long | 4 | 用于大的正整数或 0(等同于 unsigned long int ) |
long long | 8 | 用于非常大的整数(等同于 long long int )。 |
unsigned long long | 8 | 用于非常大的正整数或 0(等同于 unsigned long long int ) |
long double | 12 | 用于大的浮点数 |
signed char | 1 | 用于字符(保证范围 -127 到 127) |
unsigned char | 1 | 用于字符(范围 0 到 255) |
让我们看几个例子。
long b = 4523232;
long int c = 2345342;
long double d = 233434.56343;
short d = 3434233; // 错误!超出范围
unsigned int a = -5; // 错误!只能存储正数或 0
派生数据类型
从基本数据类型派生的数据类型是派生类型。例如:数组、指针、函数类型、结构等。
我们将在后续教程中学习这些派生数据类型。