数据类型
一、数据类型的分类
数据类型的作用: 编译器预算对象(变量)分配的内存空间大小。
sizeof()运算符: 获取一个对象(变量)所占空间的大小,单位为字节
二、基本数据类型
基本数据类型包含bool类型、整型、字符型和浮点型数据
2.1 _Bool类型
值分别为:
- 真 --> 非零
- 假 --> 零
关键字: _Bool
如果要使用bool作为关键字, true和false作为值;则需要引入一个头文件stdbool.h
此时true == 1, false == 0
2.2 字符型
关键字: char
赋值时使用单引号(’’)引起来的数据
也可以等价为1字节整数,所以可以直接对其赋予整数值。
在赋整数值时要注意避免数值越界。
| 类型 | 长度(字节) | 取值 |
|---|---|---|
| char | 1 |
-128~127, 0~255(使用J编译选项) |
| unsigned char | 1 | 0~255 |
unsigned表示最高位为数值为,不表示符号。即无符号限定符
2.3 整型
2.3.1 短整型
关键字: short [int]
| 类型 | 长度(字节) | 取值 |
|---|---|---|
| [signed] short [int] | 2 | -32768~32767 |
| unsigned short [int] | 2 | 0~65535 |
2.3.2 基本整型
关键字: int
| 类型 | 长度(字节) | 取值 |
|---|---|---|
| [signed] int | 4 | -2147483648 ~ 2147483647 |
| unsigned int | 4 | 0 ~ 4294967295 |
2.3.3 长整型
关键字: long [int]
| 类型 | 长度(字节) | 取值 |
|---|---|---|
| [signed] long [int] | Windows为4字节,Linux为4字节(32位),8字节(64位) | -2147483648 ~ 2147483647 (-2^31 ~ 2^31-1) |
| unsigned long [int] | Windows为4字节,Linux为4字节(32位),8字节(64位) | 0 ~ 4294967295 (0 ~ 2^32-1) |
2.3.4 长长整型
关键字: long long [int]
| 类型 | 长度(字节) |
|---|---|
| [signed] long long [int] | 至少8字节 |
| unsigned long long [int] | 至少8字节 |
在头文件limits.h中有各个类型的取值范围
2.4 浮点型
实型变量也可以称为浮点型变量,浮点型变量是用来存储小数数值的。
在C语言中, 浮点型变量分为两种: 单精度浮点数(float)、双精度浮点数(double)
但是double型变量所表示的浮点数比 float 型变量更精确。
由于浮点型变量是由有限的存储单元组成的,因此只能提供有限的有效数字。在有效位以外的数字将被舍去,这样可能会产生一些误差。
| 类型 | 长度(字节) | 有效数字 |
|---|---|---|
| float | 4 | 7位有效数字 |
| double | 8 | 15~16位有效数字 |
三、强制类型转换
强制类型转换指的是使用强制类型转换运算符,将一个变量或表达式转化成所需的类型
(类型) 表达式
字符型数字强制转为数值类型是,是将其转换为ASCII值