前言:
我们常常在写C语言程序时,总离不开去定义变量。也许需要定义一个整形的,又或是定义一个浮点型的…那么这时候就需要数据类型啦!又或许你常常因为没有使用合适正确的数据类型造成运行结果溢出等等一些问题。关于常见的一些数据类型(int,char…)大家可能都知道,那么他们的大小、数值范围是多少呢,你有知道多少呢今天让我们来看看C语言的基本类型。深入了解。
1.基本类型:
(1)整型类型。整型类型包含:基本整型(int)、短整型(short int)、长整型(long int)、双长整型(long long int)、字符型(char)。
双精度型 double单精度型 float长长整型 long long长整型 long整型 int短整型 short浮点型整型字符型 char数值字型基本类型
这里我们对常用的基本数据类型(整型数据类型、字符数据类型和[浮点型数据]类型),包括他们的数据类型大小、数值范围以及打印类型等等。
1.数据类型大小
想要理解数据类型的大小让我们看看计算机的单位,便于以后更好的理解。
单位 | 说明 |
---|---|
位(bit,b) | 二级制的一个数位,可以是0或1,是计算机中最小的单位 |
字节(Byte,B) | 计算机中数据的基本单位,每8位组成一个字节。1字节=8位 |
字(word) | 两个字节为一个字。汉字的存储单位就是一个字 |
KB | 1KB=1024B()2的10次方 |
MB,GB,TB | 1MB=1024KB,TB>GB>MB计算以此类推 |
关于求出他们的数据类型大小,我们需要用到一个函数sizeof,这里不对这个函数作过多详细解释,你只需要知道,这个函数的作用是**可以求出⼀个对象(数据类型或者数据对象)的长度(即占⽤内存的⼤⼩,以byte为单位)。**注意是以字节为单位。
#include <stdio.h> int main() { printf("short:%d\n", sizeof(short)); printf("unsgned short:%d\n", sizeof(unsigned short)); printf("int:%d\n", sizeof(int)); printf("unsigned int:%d\n", sizeof(unsigned int)); printf("long:%d\n", sizeof(long)); printf("unsigned long:%d\n", sizeof(unsigned long)); printf("long long:%d\n", sizeof(long long)); printf("unsigned long long:%d\n", sizeof(unsigned long long)); printf("float:%d\n", sizeof(float)); printf("double:%d\n", sizeof(double)); printf("char:%d\n", sizeof(char)); return 0; }
1字节即8位。
2字节即16位。
int类型、long类型、float类型的数据类型大小为4字节即32位。
long long类型、double类型的数据类型大小为8字节即64位。
注意,若整数数据类型前面加unsigned即为无符号整数数据类型,数据类型大小不变,只是范围变。
3)符号位
前面我们提到计算机最小的存储单位为bit(位或比特),即二进制数所存储的位。但是对于有符号整数数据类型和无符号整数数据类型,这些存储的“位”具体的意义是不同的。
有符号整数数据类型的存储单元中,左边第一位表示符号位,其余位用来存放数值(如果第一位为0,表示该数为正数;如果第一位为1,表示该数为负数)而无符号整数数据类型所有的位数都是用来存放数值的。比如,long int类型变量有32位存储位数,除去左边第一位表示符号位,剩下表示数值的只有31个比特位,而unsigned long int类型变量,32位都用来存放数值。
2.数据类型的数值范围表
3.打印输出类型表
总结:
这些表多看多用就会很快的记住,当我们创建变量的时候一定要想一想这个变量的范围考虑清楚后才选择这样不仅仅可以用对还可以节约硬件的空间,也可以防止异出带来的麻烦(一些时候找不到问题就可以多看看创建变量出现问题没有)关于基本的数据类型就结束啦下期见!