C语言高手来帮个忙!

2024-12-21 09:11:44
推荐回答(5个)
回答1:

在编译器没有内存对齐的优化设置下:
在16位机器上是11,因为:
sizeof(int) = 2
sizeof(char) = 1
sizeof(double) = 8

在32位的机器上是13 因为
sizeof(int) = 4
sizeof(char) = 1
sizeof(double) = 8

另外,课本上除非是说错了,或者说的是在具有内存对齐优化的设置下,否则,char型不可能是2字节,无论是32位还是16位机器。
BTW: WCHAR 是 2
TCHAR 要看有没有定义UNICODE宏,定义了就是2,否则就是1

回答2:

不知道是不是带字节对齐的
没有用过16位的机器不知道

如果是32位机的话
这个结构应该是16个字节
int 4 char 1 double 8 再根据最大字节数变量对齐 = 16
这些东西有点忘记了,如果有不对的请指正

回答3:

16位机上int二个字节(32位机int 4字节)
char一个字节(32位机char也是1字节)
double八个字节
加起来11
补充一下
long 4字节
float 4字节

回答4:

peimichael正解

如果你还是不知道就用sizeof(b)测试一下就知道了

回答5:

权证手续费是千分之3股票:上海手续费千分之3加上千分之3的印花税再加上千分之1的过户费就是千分之7
深圳手续费千分之3加上千分之3的印花税,没有过户费,也就是千分之6(注:这只是单向费用,买卖的话也是双向收费的)