有哪些数据类型?
- char - 字符数据类型,存储一个字符,大小是1字节。
- short - 短整型,存储一个整数,大小是2字节。
- int - 整型,存储一个整数,大小是4字节。
- long - 长整型,存储一个整数,大小一般是4字节。
- long long - 更长的整型,存储一个整数,大小是8字节。
- float - 单精度浮点型,存储一个小数,大小是4字节。
- double - 双精度浮点型,存储一个小数,大小是8字节。
用这些类型定义变量并初始化:
char ch = 'w';
short s = 2;
int i = 10;
long l = 20;
long long ll = 100;
float f = 1.1f;
double d = 2.2;
如何验证这些类型的大小呢?可以使用sizeof运算符。比如,验证int的大小是4byte,可以验证sizeof(int)
,或者sizeof(i)
,或者sizeof i
。
当然,如果你愿意,可以全部验证一遍。
#include <stdio.h>int main()
{printf("%zd\n", sizeof(char));printf("%zd\n", sizeof(short));printf("%zd\n", sizeof(int));printf("%zd\n", sizeof(long));printf("%zd\n", sizeof(long long));printf("%zd\n", sizeof(float));printf("%zd\n", sizeof(double));return 0;
}
为什么要有这么多种数据类型呢?
这些数据类型中,有些用来存整数,有些用来存小数,这是为了匹配使用整数和小数的场景。
整型家族中,有2字节的short,也有8字节的long long;浮点型家族中,有4字节的float,也有8字节的double。这都是为了匹配不同的场景。long long相比于short,可以存储更大的整数,但是占用空间更多;double相比于float,可以存储精度更高的小数,但是占用空间更多。