数据类型
C语言中数据类型大体可以分为这两种:基本数据类型和构造类型。由于本人才学不久,今天就只介绍一下基本数据类型。
基本数据类型又分为这三种:整数型、浮点型、字符型。
整数型:
short 短整型
int 整型
long 长整型
long long 超长整型
它们所占的内存大小又是多大呢?我们可以用sizeof()来求一下
printf("%d\n",sizeof(short));
printf("%d\n",sizeof(int));
printf("%d\n",sizeof(long));
printf("%d\n",sizeof(long long));
结果如下:
我们可以清楚地看到short占2个字节,int和long占4个字节,long long占8个字节。
这些类型表示的数的范围是:
short -2^15 — (2^15-1)
int -2^31 — (2^31-1)
long -2^31 — (2^31-1)
long long -2^63 — (2^63-1)
浮点型
初学者对于浮点型肯定在想这到底是个什么玩意儿,还叫浮点型,真的有漂着的小点嘛。别说,浮点型还真有,浮点型就是我们常说的小数,它的精度可以到小数点后6位。
下面我们来看一下浮点型数据:
float 单精度浮点数
double 双精度浮点数
看到这里我当时纳闷了,这都是小数还分什么单精度、双精度,原因在这:
1、在内存中所占大小不同
单精度占4个字节
双精度占8个字节
2、有效数字位数不同
单精度的有效数字是8个
双精度的有效数字是16个
3、表示的数的范围不同
单精度浮点的表示范围:-3.40E+38 ~ +3.40E+38
双精度浮点的表示范围:-1.79E+308 ~ +1.79E+308
我们看一下它们所占的内存大小:
字符型
相比于整数型和浮点型,字符型就少的可怜了,仅有一个。
char 字符型
char类型在C语言中用来创建字符变量,它占得内存很小,仅有1个字节。
那么它所能表示的数的范围也很有限了。
char -128 — 127
在生活中,我们一般使用char来创建字符变量,但其实char类型也可以表示整数型,只不过范围很小,因此char又被称为小整型。
当我们把一个超出char类型范围的数赋值给char类型数据后它会这样操作:
1、读取一个字节的数
2、前面空的补上和那个数符号位相同的
看一下代码和输出结果:
char ch = 65;
int i = 123456789;
ch = i;
printf("%x\n", i);
printf("%x\n", ch);
结果:
我目前了解的基本数据类型就是这样了,不足之处请大家多多指教。