NIUCLOUD是一款SaaS管理后台框架多应用插件+云编译。上千名开发者、服务商正在积极拥抱开发者生态。欢迎开发者们免费入驻。一起助力发展! 广告
# C++ 数据类型 > 原文: [https://www.programiz.com/cpp-programming/data-types](https://www.programiz.com/cpp-programming/data-types) #### 在本教程中,我们将借助示例学习 C++ 编程中的基本数据类型,例如`int`,`float`,`char`等。 在 C++ 中,数据类型是变量的声明。 这确定了与变量关联的数据的类型和大小。 例如, ```cpp 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 到 214748647** 的值。 * 例如, ```cpp int salary = 85000; ``` * * * ### 2\. C++ `float`和`double` * `float`和`double`用于存储浮点数(小数和指数)。 * `float`的大小为 4 个字节,`double`的大小为 8 个字节。 因此,`double`的精度是`float`的两倍。 要了解更多信息,请访问 C++ `float`和`double`。 * 例如, ```cpp float area = 64.74; double volume = 134.64534; ``` 如上所述,这两种数据类型也用于指数。 例如, ```cpp double distance = 45E12 // 45E12 is equal to 45*10^12 ``` * * * ### 3\. C++ `char` * `char`关键字用于字符。 * 它的大小是 1 个字节。 * C++ 中的字符用单引号`' '`括起来。 * 例如, ```cpp char test = 'h'; ``` **注意**:在 C++ 中,整数值存储在`char`变量中,而不是字符本身。 要了解更多信息,请访问 [C++ 字符](https://www.programiz.com/cpp-programming/char)。 * * * ### 4\. C++ `wchar_t` * 宽字符`wchar_t`与`char`数据类型类似,不同之处在于它的大小是 2 个字节而不是 1 个字节。 * 它用于表示比单个`char`需要更多内存来表示它们的字符。 * 例如, ```cpp wchar_t test = L'ם' // storing Hebrew character; ``` 注意引号前的字母`L`。 **注意**: C++ 11 中还引入了其他两种固定大小的字符类型`char16_t`和`char32_t`。 * * * ### 5\. C++ `bool` * `bool`数据类型具有两个可能值之一:`true`或`false`。 * 布尔用于条件语句和循环(我们将在后面的章节中学习)。 * 例如, ```cpp 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 int` | 4 | 用于整数(相当于`int`) | | `unsigned int` | 4 | 只能存储正整数 | | `short` | 2 | 用于小整数(范围 **-32768 至 32767**) | | `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` | 8 | 用于大浮点数 | | `signed char` | 1 | 用于字符(保证范围 **-127 至 127**) | | `unsigned char` | 1 | 用于字符(范围 **0 至 255**) | 让我们看一些例子。 ```cpp long b = 4523232; long int c = 2345342; long double d = 233434.56343; short d = 3434233; // Error! out of range unsigned int a = -5; // Error! can only store positive numbers or 0 ``` * * * ## 派生数据类型 从基本数据类型派生的数据类型是派生类型。 例如:数组,指针,函数类型,结构等。 我们将在以后的教程中了解这些派生的数据类型。