数据类型
c语言中有丰富的数据类型
描述字符串的字符类型,如描述整数的整数类型,描述浮点数的浮点型类型
字符类型
1.char
2.signed char // 有符号的字符
3.unsigned char //无符号的字符
整数类型
//短整型
1.short
2.signed short //有符号的短整型
3unsigned short //无符号的短整型
//整型
1.int
2.signed int //有符号的整型
3.unsigned int 无符号的整型
//长整型
1.long
2. signed long //有符号的整型
3.unsigned long 无符号的整型
//更长整形
4. long long //在c99中引入
浮点类型
\\单精度浮点型
1.float
2.signed float
3.unsigned float
//双精度浮点型
1.double
2.signed double
3.unsigned double
//精度更高的浮点型 c99引入
1.long double
2signed long double
3unsigned long double
布尔类型
//专门表示真假的类型
1._Bool
数据类型的长度
每⼀种数据类型都有⾃⼰的⻓度,使⽤不同的数据类型,能够创建出⻓度不同的变量,变量⻓度的不 同,存储的数据范围就有所差异。
以下代码当中sizeof是计算数据类型长度的操作符,单位为字节
#include <stdio.h>
int main()
{ //以下结果在vs2022 x64 环境下输出
printf("%zd\n", sizeof(char)); //输出结果为1
printf("%zd\n", sizeof(_Bool)); //输出结果为1
printf("%zd\n", sizeof(short)); //输出结果为2
printf("%zd\n", sizeof(int)); //输出结果为4
printf("%zd\n", sizeof(long)); //输出结果为4
printf("%zd\n", sizeof(long long)); //输出结果为8
printf("%zd\n", sizeof(float)); //输出结果为4
printf("%zd\n", sizeof(double)); //输出结果为8
printf("%zd\n", sizeof(long double)); //输出结果为8
return 0;
}
有些人也许会疑惑
如int类型和long明明是不同的类型,可为什么这两种不同的数据类型长度却相同。
其实c语言规定sizeof(int)<=sizeof(long)所以long类型长度并不一定比int类型大