已知定义了如下共用体变量:union date {int i; char ch; float f;}b; 则变量b所占的内存长度为 9位

已知定义了如下共用体变量:union date {int i; char ch; float f;}b; 则变量b所占的内存长度为 9位 (C++编译系统) 。
还有一道题union { char str[5]; struct { int x; float f;}a; float f;}b;
为啥struct{int x;float f}是8位?int不是2位么 2+4=6

union date {int i; char ch; float f;}b,共用体占四个字节,
struct{int x; float f}是8个字节,int与float在32位系统都是占用四个字节追问

为啥我看到书上写的是int是两个字节 是版本不同造成的么

追答

目前32位操作系统下的C/C++编译器大多是四个字节,你是做嵌入式开发的?

追问

没有 书上一直说int是2个字节的 我就记住了-。-

追答

32位操作系统上一般都是4个字节,看来你哪部书是比较旧的,或者是嵌入式开发的书。。

追问

杜有福老头子的

追答

我不了解这本,你想知道int的大小,直接输出sizeof(int)就可以知道了,但我从开始看的书上就一直是四个字节了。。。

温馨提示:答案为网友推荐,仅供参考
相似回答