1. 整数类型简介
1.1 类型说明
C语言定义了几种整数类型:短整型(short)、整型(int)、长整型(long)、更长的整型(long long)。这些类型可以被 signed 和 unsigned 修饰。
- signed 修饰:带符号位,有正负号,可以表示负值。(默认情况)
- unsigned 修饰:不带符号位,没有正负号,只能表示零和正整数。
计算机中的最小存储单位是 bit(位),1字节(byte)= 8位(bit)。
1.2 举例
1.2.1 signed 和 unsigned
signed int m; // 等同于 int m; unsigned int a;
1.2.2 类型简写
short a; long b; long long c;
1.2.3 后缀用法
long x = 123L; // 或者写成 123l long long y = 123LL; unsigned int z = 123U; unsigned long int w = 1234UL;
1.3 整数的极限值
#include <limits.h> int main() { printf("%d\n", INT_MIN ); // -2147483648 printf("%d\n", INT_MAX ); // 2147483647 return 0; }
2. 精确宽度类型
#include <stdint.h> int main() { int32_t x32 = 45933945; // int32_t 类型,保证32位宽度。 printf("x32 = %d\n", x32); return 0; }
3. 总结
C语言的整数类型有着丰富的表达形式,各种类型和修饰符可以满足不同的需求。通过了解不同类型的取值范围和内存占用情况,我们能够更有效地利用整数类型。同时,精确宽度类型的使用可以增强代码的可移植性。