c语言数据类型的数据在内存中如何存储?

如题所述

(1)共同体在内存中共用一块存储空间,
(2)空间的大小由共同体中占用空间最大的变量所决定
(3)输出时,按相应的类型进行数值解析。
int 占4个字节
char 占一个字节
double占8个字节
所以data所占空间为8字节。

data.a=5;在内存中存储的是二进制格式,X86机器上,低位在前形如:
00000101 00000000 00000000 00000000
此时如果要输出:data.c,则计算机从内存中取信息内容如下:
00000101 00000000 00000000 00000000 XXXX (XXXX代表高四字节,未初始化数据,所以数值有可能不确定)
这个信息:按双精度数据解释为:一位的符号号 + 11位的指数位(移码)+52位小数位
0
(00001010000)移=( E)原+1023 E= -943
即:data.c=1.x * 2^-943 约等于0
温馨提示:答案为网友推荐,仅供参考
相似回答