找回密码
 立即注册
c语言整型大小与取值范围
  1. #define _CRT_SECURE_NO_WARNINGS
  2. #include <stdio.h>
  3. int main(void)
  4. {
  5.     //整型变量
  6.     int a = 10;
  7.     //短整型变量
  8.     short b = 20;
  9.     //长整型变量
  10.     long c = 30;
  11.     //长长整型变量
  12.     long long d = 40;
  13.     printf("%d\n",a);
  14.     //%hd占位符表示输出一个短整型数据
  15.     printf("%hd\n",b);
  16.     //%ld占位符  表示输出一个长整型数据
  17.     printf("%ld\n",c);
  18.     //%lld占位符  表示输出一个长长整型数据
  19.     printf("%lld\n",d);
  20.     //sizeof  计算数据类型在内存中占的字节(BYTE)大小
  21.     //1B=8bit
  22.     //sizeof  返回值为size_t(unsigned int  无符号整数)
  23.     //sizeof(数据类型)   sizeof(变量名)  sizeof 变量名
  24.     unsigned int len = sizeof(short);
  25.     //printf("%u\n",len);
  26.     printf("整型:%d\n",sizeof(a));//4=32bit
  27.     printf("短整型:%d\n",sizeof(b));
  28.     printf("长整型:%d\n",sizeof(c));
  29.     printf("长长整型:%d\n",sizeof(d));
  30.     return 0;
  31. }
复制代码

笔记:int整型在内存中占4个字节  32bit
         short短整型在内存中占2个字节   16bit
         long长整型在内存中占8个字节     64bit
        longlong长长整型在内存中占8个字节   64bit
注意:
       long长整型在windows为4字节  ,liunx为4字节(32位),8字节(64位)
       需要注意的是,整型数据在内存中占的字节数与所选择的操作系统有关,虽然c语言标准中没有明确规定整型数据的长度,但long类型整数的长度不能短于int类型  ,short类型整数的长度不能长于int类型。
        当一个小的数据类型赋值给一个人大的数据类型,不会出错,因为编译器会自动转化。但当一个大的类型赋值给一个小的数据类型,那么可能会丢失高位。
Screenshot_2019-09-17-13-58-25-821_coding.yu.ccompiler.new.jpg
分享至 : QQ空间
收藏
“读书多了,容颜自然改变,许多时候,自己可能以为许多看过的书籍都成过眼烟云,不复记忆,其实它们仍是潜在气质里、在谈吐上、在胸襟的无涯,当然也可能显露在生活和文字中。” ...

6 个回复

倒序浏览
路过~
初来乍到,请多指教!
青柠猫社区出品,必属精品!
初来乍到,请多指教!
感谢分享,青柠猫有你更加精彩!
初来乍到,请多指教!
感谢分享!
初来乍到,请多指教!
顺手回复,不做伸手党
初来乍到,请多指教!
先赞后看 已成习惯~
初来乍到,请多指教!
您需要登录后才可以回帖 登录 | 立即注册