C语言联合体存储方法
1个回答
展开全部
这个和体系结构有关。首先int行具体是1个字节还是2个字节是不确定的。早期的编译器来说。int是一字节。但是现在的都是2字节。因为计算机处理器一般都是32位处理器。
联合只取最大的空间。比如。你定义的联合体。int
A,char
B[2],其实在计算机里面只占用了2个字节。你存储char时,全占了。当你存储为int类型时候。要么占用一半的空间。要么全部都占用了。这个和计算机体系结构有关。但是a和b是不会同时存在的。联合中的成员同时只能有一个。这个是和结构体区别的地方。如果还有疑问建议你去看看书吧。这个是基础知识。
联合只取最大的空间。比如。你定义的联合体。int
A,char
B[2],其实在计算机里面只占用了2个字节。你存储char时,全占了。当你存储为int类型时候。要么占用一半的空间。要么全部都占用了。这个和计算机体系结构有关。但是a和b是不会同时存在的。联合中的成员同时只能有一个。这个是和结构体区别的地方。如果还有疑问建议你去看看书吧。这个是基础知识。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询