前言
C语言中有许多数据类型包括:
- char(字符型)
- short int(短整型)、int(整型)、long int(长整型)、long long int(更长整型)
- float(单精度浮点型)、double(双精度浮点型)、long double(精度更高浮点型)
- 0(为假)、1(为真)[这两个统称布尔类型](为C99引入)
关于各个数据类型的长度
#include<stdio.h>
int main()
{
printf("%zd\n", sizeof(char));
printf("%zd\n", sizeof(short));//short int简写
printf("%zd\n", sizeof(int));
printf("%zd\n", sizeof(long));//long int简写
printf("%zd\n", sizeof(long long));//long long int简写
printf("%zd\n", sizeof(float));
printf("%zd\n", sizeof(long float));
printf("%zd\n", sizeof(double));
printf("%zd\n", sizeof(long double));
printf("%zd\n", sizeof(_Bool));
return 0;
}
size_t是sizeof的计算结果类型用的是%zd这个占位符;
用上面代码可以求到各个数据类型的长度
- char 1个字节
- short int 2个字节
- int 4个字节
- long int 4个字节
- long long int 8个字节
- float 4个字节
- double 8个字节
- long double 8个字节
- _Bool 1个字节
关于sizeof的解释
sizeof 是⼀个关键字,也是操作符,专⻔是⽤来计算sizeof的操作符数的类型⻓度的,单位是字
节。
sizeof 操作符的操作数可以是类型,也可是变量或者表达式。
各个数据类型的范围
不同的数据类型表示的范围不同,例如:long double 比 double 的精确的肯定更高。
由此需要我们选取合适的数据类型(可以节省空间和内存,也可以避免不必要的错误)。
limits.h 头⽂件中说明了整型的取值范围
float.h 头文件中说明了浮点型的取值范围
bool 0/1。
BOOL TRUE/FALSE/ERROR。
char -128~127
short -32768~32767
int -2147483648~2147483647
long -2147483648~2147483647
long long -9223372036854775808~9223372036854775807
float -3.410^38d 到 +3.410^38
double -1.710^-308 到 1.710^308
long double -1.210^-4932 到 1.210^4932
另外
signed类型为有符号类型(一般省略)
unsigned类型为无符号类型(不省略)范围是从0到signed的最大整数的2倍
例如:
int 4个字节 -2147483648~2147483647
unsigned int 4个字节 0~4294967295
小结
C语言的数据类型虽然很多但是要选取合适的数据类型使用,欢迎大家为我指出问题哦
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。