数据类型
整数与浮点类型
注意:
- short类型至少16位,确定数字不会超过范围时使用,sizeof(short) 结果: 2
- int类型跟随编译器位数变化而变化,sizeof(int) 结果: 2/4/8
- long类型至少64位,sizeof(long) 结果: 8
数据类型 | 位数 | 描述 | 范围 | 函数 | 占位符 |
---|---|---|---|---|---|
char | 1*8 | 储存字符类型 | -128,127 | CHAR_MIN,CHAR_MAX | %d,%i,%s |
unsigned char | 1*8 | 储存无符号的字符类型 | 0,255 | UCHAR_MAX | %d,%i,%s |
short | 2*8 | 有符号整数类型 | -32768,32767 | SHRT_MIN,SHRT_MAX | %d,%i |
unsigned short | 2*8 | 无符号整数类型 | 0,65535 | USHRT_MAX | %d,%i |
int | 4*8 | 整数类型 | -2147483648,2147483647 | INT_MIN,INT_MAX | %d,%i |
unsigned int | 4*8 | 无符号整数类型 | 0,4294967295 | UINT_MAX | %u |
long int | 8*8 | 整数类型 | -9223372036854775808,9223372036854775807 | LONG_MIN,LONG_MAX | %ld |
unsigned long int | 8*8 | 无符号整数类型 | 0,18446744073709551615 | ULONG_MAX | %lu |
long long int | 8*8 | 整数类型 | -9223372036854775808,9223372036854775807 | LLONG_MIN,LLONG_MAX | %lld |
unsigned long long int | 8*8 | 无符号整数类型 | 0,18446744073709551615 | ULLONG_MAX | %llu |
float | 4*8 | 浮点类型 | 0.000000,3.402823e+38 | FLT_MIN,FLT_MAX | %f,%e |
double | 8*8 | 浮点类型 | 0.000000,1.797693e+308 | DBL_MIN,DBL_MAX | %lf,%e |
long double | 8*8 | 浮点类型 | 3.362103e-4932,1.189731e+4932 | LDBL_MIN,LDBL_MAX | %Le |
附表:limits 中的符号常量
符号常量 | 表示 |
---|---|
CHAR_BIT | char的位数 |
CHAR_MAX | char的最大值 |
CHAR_MIN | char的最小值 |
SCHAR_MAX | signed char的最大值 |
SCHAR_MIN | signed char的最小值 |
UCHAR_MAX | unsigned char的最大值 |
SHRT_MAX | short的最大值 |
SHRT_MIN | short的最小值 |
USHRT_MAX | unsigned short的最大值 |
INT_MAX | int的最大值 |
INT_MIN | int的最小值 |
UINT_MAX | unsigned int的最大值 |
LONG_MAX | long的最大值 |
LONG_MIN | long的最小值 |
ULONG_MAX | unsigned long的最大值 |
LLONG_MAX | long long的最大值 |
LLONG_MIN | long long的最小值 |
ULLONG_MAX | unsigned long long的最大值 |