整型:int
-
整型变量的定义与输出
打印格式 类型 %d 输出一个有符号的十进制int类型 %o 输出八进制的int类型 %x 输出十六进制的int类型,字母以小写输出 %X 输出十六进制的int类型,字母以大写输出 %u 输出一个十进制的无符号数
short,int,long,long long
数据类型 | 占用空间 |
---|---|
short(短整型) | 2字节 |
int(整型) | 4字节 |
long(长整型) | windows为4字节,Linux为4字节(32位),8字节(64位) |
long long(长长整型) | 8字节 |
注意
- 需要注意的是,整型数据在内存中占的字节数与操作系统有关。C语言标准中虽然没有明确规定数据的长度,但long类型整数的长度不能短于int类型,short类型整数的长度不能长于int类型。
- 当一个小的数据类型赋值给一个大的数据类型,不会出错,因为编译器会自动转化。但当一个大的类型赋值给一个小的数据类型,那么就可能丢失高位。
内存计算
#include <stdio.h>
int main()
{
short a = 10;
int b = 10;
long c = 10L; //或者l
long long d = 10LL; //或者ll
printf("sizeof(a) = %u\n", sizeof(a));
printf("sizeof(b) = %u\n", sizeof(b));
printf("sizeof(c) = %u\n", sizeof(c));
printf("sizeof(d) = %u\n", sizeof(d));
printf("short a = %hd\n", a);
printf("int b = %d\n", b);
printf("long c = %ld\n", c);
printf("long long d = %lld\n", d);
return 0;
}
sizeof关键字
- sizeof不是函数,所以不需要包含任何头文件,它的功能是计算一个数据类型的大小,单位为字节。
- sizeof的返回值为 size_t
- size_t 类型在32位操作系统下是unsigned int,是一个无符号的整数。