数据类型
714字约2分钟
2025-05-28
数据类型
整数
short
int
long
long long
小数
float
double
字符
char
short
// short短型,占2字节,取值范围-32768 ~ 32767
short a = 10;
printf("%d\n", a); // 10
int
// int,占4字节,取值范围-2147483648 ~ 2147483647
int a1 = 100;
printf("%d\n", a1); // 100
long
// long,占4字节,取值范围-2147483648 ~ 2147483647
long a2 = 1000L;
printf("%ld\n", a2); // 1000
long long
// long long,占8字节
long long a3 = 10000LL;
printf("%lld\n", a3); // 10000
sizeof
查看占用的字节大小
// sizeof查看变量占用多少字符
// 可以写变量
printf("%zu\n", sizeof(int)); // 4
// 也可以写变量名
printf("%zu\n", sizeof(a1)); // 4
float
// float,占4字节
float a = 3.14159F;
printf("%f\n", a); // 输出 3.14159
// 最后一位会四舍五入
printf("%.2f\n", a); // 输出 3.14
double
// float,占8字节
double b = 2.71828;
printf("%lf\n", b); // 输出 2.71828
// 最后一位会四舍五入
printf("%.2lf\n", b); // 输出 2.72
long double
// long double,占8字节
long double c = 3.14159L;
// 使用 %Lf 格式说明符输出 long double 类型的值,并保留两位小数
printf("%Lf", c); // 输出 3.14159
printf("%.2Lf", c); // 输出 3.14
注意
- 小数类型无法与无符号
unsigned
一起组合使用 - 在C语言中整型默认是
int
- 大小
double > float > long long > long > int > short
- 后缀:
long
(L)、long long
(LL)、float
(F) - 无符号
unsigned
可以和整数类型组合成无符号整数,占位符用%u
有符号和无符号
signed
表示有符号(默认)unsigned
表示无符号(当使用无符号时,数据的取值范围将变大,0 ~ 原来的负数+整数)例子:
short
原来的取值范围为-32768 ~ 32767
,其无符号的取值范围是0 ~ 65,535
unsigned short a3 = 65,535;
字符
字符要求:只能是大小写的英文字母,数字或者英文状态下的标点符号
// 错误的
char a = '';
char b = 'ab';
char c = '¥';
// 正确的
char c1 = 'A';
char c2 = 'a';
char c3 = '$';
不写,要么写多了,这都是不行的,这属于语法错误
// a占1个字节,“你”占2个字节,结束符“\0”占一个字节
// 所以总共加起来为6个字节
char a[6] = "aaa你"
UTF - 8 编码:是一种变长编码,中文通常占用 3 到 4 个字节。在 UTF - 8 中,常用的中文字符一般占用 3 个字节,一些不常用的生僻字可能会占用 4 个字节。
GBK 编码:是中文编码扩展标准,中文占用 2 个字节。GBK 编码收录了简体中文和繁体中文的大量字符,能够满足日常中文文本处理的需求。
字符串
字符串中则没有什么要求
char str1[] = "Hello";