C int 关键字

定义和用法

int 关键字是一种数据类型,用于存储整数。大多数实现会给 int 类型分配 32 位(4 字节),但有些实现只分配 16 位(2 字节)。

在 16 位的情况下,它可以存储范围在 -32768 到 32767 之间的正数和负数,或者当为无符号类型时,存储范围在 0 到 65535 之间的数。

在 32 位的情况下,它可以存储范围在 -2147483648 到 2147483647 之间的正数和负数,或者当为无符号类型时,存储范围在 0 到 4294967295 之间的数。

修饰符

int 的大小可以通过 shortlong 修饰符来修改。

short 关键字确保最大为 16 位。

long 关键字确保至少为 32 位,但可能扩展到 64 位。long long 确保至少为 64 位。

64 位可以存储范围在 -9223372036854775808 到 9223372036854775807 之间的正数和负数,或者当为无符号类型时,存储范围在 0 到 18446744073709551615 之间的数。

另请参阅:

unsigned 关键字可以通过不表示负数来允许 int 表示更大的正数。

short 关键字确保 int 具有 16 位。

long 关键字确保 int 至少具有 32 位。

实例

例子 1

打印一个整数:

int myNum = 1000;
printf("%d", myNum);

亲自试一试

例子 2

创建有符号、无符号、短整型和长整型整数:

int myInt = 4294967292;
unsigned int myUInt = 4294967292;
short int mySInt = 65532;
unsigned short int myUSInt = 65532;
long int myLInt = 18446744073709551612;
unsigned long int myULInt = 18446744073709551612;
printf("size: %zu bits value: %d\n", 8*sizeof(myInt), myInt);
printf("size: %zu bits value: %u\n", 8*sizeof(myUInt), myUInt);
printf("size: %zu bits value: %d\n", 8*sizeof(mySInt), mySInt);
printf("size: %zu bits value: %u\n", 8*sizeof(myUSInt), myUSInt);
printf("size: %zu bits value: %lld\n", 8*sizeof(myLInt), myLInt);
printf("size: %zu bits value: %llu\n", 8*sizeof(myULInt), myULInt);

亲自试一试

相关页面

教程:C 数据类型