多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# C 数据类型 > 原文: [https://www.programiz.com/c-programming/c-data-types](https://www.programiz.com/c-programming/c-data-types) #### 在本教程中,您将学习 C 编程中的基本数据类型,例如`int`,`float`,`char`等。 在 C 编程中,数据类型是变量的声明。 这确定了与变量关联的数据的类型和大小。 例如, ```c int myVar; ``` 在此,`myVar`是`int`(整数)类型的变量。`int`的大小为 4 个字节。 * * * ## 基本类型 这是一张表,其中包含 C 编程中用于快速访问的常用类型。 | 类型 | 大小(字节) | 格式说明符 | | --- | --- | --- | | `int` | 至少 2,通常 4 | `%d`,`%i` | | `char` | 1 | `%c` | | `float` | 4 | `%f` | | `double` | 8 | `%lf` | | `short int` | 通常 2 | `%hd` | | `unsigned int` | 至少 2,通常 4 | `%u` | | `long int` | 至少 4,通常 8 | `%ld`,`%li` | | `long long int` | 至少 8 | `%lld`,`%lli` | | `unsigned long int` | 至少 4 | `%lu` | | `unsigned long long int` | 至少 8 | `%llu` | | `signed char` | 1 | `%c` | | `unsigned char` | 1 | `%c` | | `long double` | 至少 10,通常 12 或 16 | `%Lf` | * * * ### `int` 整数是整数,可以同时具有零,正和负值,但不能有十进制值。 例如`0`,`-5`,`10` 我们可以使用`int`声明一个整数变量。 ```c int id; ``` 在此,`id`是整数类型的变量。 您可以在 C 编程中一次声明多个变量。 例如, ```c int id, age; ``` `int`的大小通常为 4 个字节(32 位)。 并且,它可以从`-2147483648`到`2147483647`采取`2<sup>32</sup>`不同的状态。 * * * ### `float`和`double` `float`和`double`用于保存实数。 ```c float salary; double price; ``` 在 C 语言中,浮点数也可以用指数表示。 例如, ```c float normalizationFactor = 22.442e2; ``` `float`和`double`有什么区别? `float`(单精度浮点数据类型)的大小为 4 个字节。`double`(双精度浮点数据类型)的大小为 8 个字节。 * * * ### `char` `char`关键字用于声明字符类型变量。 例如, ```c char test = 'h'; ``` 字符变量的大小为 1 个字节。 * * * ### `void` `void`是不完整的类型。 意思是“没有”或“没有类型”。 您可以将`void`视为**不存在**。 例如,如果一个函数不返回任何东西,则其返回类型应为`void`。 请注意,您无法创建`void`类型的变量。 * * * ### `short`和`long` 如果需要使用大量数字,可以使用类型说明符`long`。 这是如何做: ```c long a; long long b; long double c; ``` 在这里,变量`a`和`b`可以存储整数值。 并且,`c`可以存储浮点数。 如果确定,将仅使用较小的整数(`[−32,767, +32,767]`范围),则可以使用`short`。 ```c short d; ``` 您始终可以使用`sizeof()`运算符检查变量的大小。 ```c #include <stdio.h> int main() { short a; long b; long long c; long double d; printf("size of short = %d bytes\n", sizeof(a)); printf("size of long = %d bytes\n", sizeof(b)); printf("size of long long = %d bytes\n", sizeof(c)); printf("size of long double= %d bytes\n", sizeof(d)); return 0; } ``` * * * ### `signed`和`unsigned` 在 C 语言中,`signed`和`unsigned`是类型修饰符。 您可以使用它们来更改数据类型的数据存储。 例如, ```c unsigned int x; int y; ``` 在这里,因为我们使用了`unsigned`修饰符,所以变量`x`只能容纳零和正值。 考虑到`int`的大小为 4 个字节,变量`y`可以保存从`-2<sup>31</sup>`到`2<sup>31</sup>-1`的值,而变量`x`可以保存从`0`到`2<sup>32</sup>-1`的值。 * * * 用 C 编程定义的其他数据类型是: * 布尔类型 * 枚举类型 * 复杂类型 * * * ## 派生数据类型 从基本数据类型派生的数据类型是派生类型。 例如:数组,指针,函数类型,结构等。 我们将在以后的教程中了解这些派生的数据类型。