C语言中的整数(short,int,long)
整数是编程中常用的一种数据,C语言使用int来定义整数(int 是 integer 的简写)。欢迎大家阅读!更多相关信息请关注相关栏目!
现代操作系统中 int 一般占用4个字节内存,共计32位(Bit)。如果不考虑正负数,当所有的位都为1时它的值最大,为 232-1 = 4,294,967,295 ≈ 43亿,这是一个很大的数,实际开发中很少用到,而诸如 1、99、12098 等较小的数使用频率反而较高。
使用4个字节保存较小的整数绰绰有余,会空闲出两三个字节来,这些字节就白白浪费掉了,不能再被其他数据使用。现在个人电脑的内存都比较大了,配置低的也有2G,浪费一些内存不会带来明显的损失;而在C语言被发明的早期,或者在单片机和嵌入式中,内存都是非常稀缺的资源,所有的程序都在尽力节省内存。
反过来说,43亿虽然已经很大,但要表示全球人口数量还是不够,必须要让整数占用更多的内存,才能表示更大的值。
让整数占用更少的内存可以在 int 前边加short,让整数占用更多的内存可以在 int 前边加long,例如:
short int a = 10;
short int b, c = 99;
long int m = 102023;
long int n, p = 562131;
这样 a、b、c 只占用2个字节的内存,而 m、n、p 可能占用8个字节的内存。
也可以将 int 省略,只写 short 和 long,如下所示:<