`
稻草人的小秘密
  • 浏览: 1305 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
社区版块
存档分类
最新评论

c语言基本数据类型

 
阅读更多

 c语言在32位系统中基本类型所占空间

类型 类型标识符 占用字节数
整型 int 4
无符号整型 unsigned int 4
短整型 short int 2
无符号短整型 unsigned short int 2
长整型 long int 4
无符号长整型 unsigned long int 4
字符型 char 1
无符号字符型 unsigned char 1
浮点型 float 4
双精度型 double 8

对于字符类型和整型变量之间的相互赋值,或者是不同的整数类型变量之间的相互赋值,由于变量在内存中所占用的存储空间不同,会进行阶段或扩充处理,使得赋值后呈现出的并不是你所希望的结果,这一点要特别注意。

如下面这个例子

char a,b,c,d,e;
a=127;
b=-128;
c=129;
d=128;
e=-129;
printf("%d,%d,%d,%d,%d\n",a,b,c,d,e);

 输出的结果是  127,-128,-127,-128,127.

因此,使用字符型或整型在不同长度的变量之间赋值的时候,有两个基本原则:

1.将表示数范围小的变量赋值给表示数大的类型变量的时候,高位做扩充处理,原数数值保持不变。

2.将表示数范围大的变量赋值给表示数小的类型变量的时候,做截断处理,只取对应的低位,这时有些数还有意义,有些数就没有意义了。

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics