C 语言数据类型介绍
本文介绍 C 语言编程中的基本数据类型,例如 int
、float
、char
等。
在 C 语言编程中,数据类型是变量的声明。这决定了与变量关联的数据的类型和大小。例如,
int myVar;
这里,变量 myVar
是 int
(整数)类型的变量。 int
的大小为 4 个字节。
基本类型
下表列出了 C 语言编程中常用的数据类型,以及每个数据类型占用的内存大小。
类型 | 大小(字节) |
---|---|
int |
至少 2 个,通常 4 个 |
char |
1 |
float |
4 |
double |
8 |
short int |
通常 2 个 |
unsigned int |
至少 2 个,通常 4 个 |
long int |
至少 4 个,通常 8 个 |
long long int |
至少 8 |
unsigned long int |
至少 4 |
unsigned long long int |
至少 8 |
signed char |
1 |
unsigned char |
1 |
long double |
至少 10 个,通常为 12 或 16 个 |
整数
整数是可以是零、正和负值但没有小数值的数。例如: 0
, -5
, 10
我们用 int
声明一个整数变量:
int id;
这里, id
是一个整数类型的变量。
在 C 语言编程中,我们可以在一个语句中一次声明多个变量。例如,
int id, age;
int
的大小通常为 4 个字节(32 位),取值范围从 -2147483648
到 2147483647
,即 -231
到 231-1
。
浮动数和双精度浮点数
float
和 double
用于保存实数。
float salary;
double price;
在 C 中,浮点数也可以用指数表示。例如,
float normalizationFactor = 22.442e2;
float
和 double
有什么区别?
float
(单精度浮点数据类型)的大小为 4 个字节, double
(双精度浮点数据类型)的大小为 8 个字节。
字符
关键字 char
用于声明字符类型变量。例如,
char test = 'h';
字符变量的大小为 1 个字节。
void
void
是不完整的类型。它的意思是“没有”或“没有类型”。
例如,如果一个函数没有返回任何东西,它的返回类型应该是 void
.
请注意,您不能创建 void
类型变量。
长整数和短整数
如果需要使用大数,可以使用长整数 long
类型。就是这样:
long a;
long long b;
long double c;
这里的变量 a
和 b
可以存储整数值,c
可以存储浮点数。
如果您确定只会使用一个小整数([−32,767, +32,767]
之间的数),您可以使用短整数 short
类型。
short d;
您可以使用 sizeof()
运算符检查变量的大小。
#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;
}
输出:
size of short = 2 bytes
size of long = 8 bytes
size of long long = 8 bytes
size of long double= 16 bytes
有符号和无符号
在 C 中, signed
和 unsigned
是类型修饰符。其中,signed
标识有符号的数,unsigned
表示无符号的数。无符号的意思是没有负数。
unsigned int x;
int y;
这里,我们使用了 unsigned
修饰符,因此变量 x
只能保存零和正值。
int
大小为 4 个字节,变量 y
可以保存从 -231
到 231-1
的值,而无符号数变量 x
可以保存从 0
到 232-1
的值。
其他数据类型
C 语言编程中定义的其他数据类型是:
- 布尔类型
- 枚举类型
- 复合类型
派生数据类型
从基本数据类型派生的数据类型是派生类型。例如:数组、指针、函数类型、结构体等。
我们将在后面的教程中了解这些派生数据类型。