1、什么是数据类型
C语言中,不同类型的变量 存储所占用的空间不同。而数据类型的功能就是声明不同类型的变量或函数。
2、C 中的类型分类:
序号 | 类型描述 |
1 | 基本数据类型 整型(int)、字符型(char)、浮点型(float)和双精度浮点型(double)等算术类型 |
2 | void类型 类型说明符,表示没有固定值的数据类型,常作函数返回值 |
3 | 派生类型 数组类型、指针类型和结构体类型等 |
4 | 枚举类型 用来定义在程序中只能赋予其一定的离散整数值的变量 |
3、整数类型
类型 | 存储大小 | 描述 |
short | 二 字节 | 短整型 |
int | 四 字节 | 整型 |
long | 四 字节 | 长整型 |
unsigned short | 二 字节 | 无符号短整型 |
unsigned int | 四 字节 | 无符号整型 |
unsigned long | 四 字节 | 无符号长整形 |
4、浮点型
- 单精度型:float 四字节 精度:6~7位
- 双精度型:double 八字节 精度:16~17位
5、字符型
- char
- 大小:一字节
- 使用的时候使用字符和使用他的ASCII都可以,对应一个字符,这个整数就称之为这个字符的ASCII码 (参考ASCII码表 https://c.biancheng.net/c/ascii/)
6、sizeof
sizeof 运算符,可以计算某个类型或某个变量在特定平台上的准确大小
#include <stdio.h>
int main()
{
char a;
short b;
int c;
long d;
printf("char = %d \t short = %d \t int = %d \t long = %d \t \n",sizeof(a),sizeof(b),sizeof(c),sizeof(d));
return 0;
}
运行结果:
7、类型转换
- 将一种数据类型转换成另一种数据类型
- 隐式类型转换:在表达式中自动发生的,通常是将一种较小的类型转换为较大的类型,eg:将int类型转换为long类型。但是高精度向低精度转换会导致数据精度和数据丢失。
- 显式类型转换:显式类型转换需要使用强制类型转换运算符,它可以将一个数据类型的值强制转换为另一种数据类型的值,但也可能会导致数据丢失或截断。
-
int a = 10; float b = 13.14; double c = a + b; // 隐式将int 转换为 double; float d = 3.14; int e = (int)d; // 将float 显式转换为了 int;