永发信息网

起始地址偏移量是什么,怎么看? 计算空间大小时,那还得考虑对齐,但我不知道,结构的起始地址偏移量怎

答案:2  悬赏:30  手机版
解决时间 2021-02-13 19:11
  • 提问者网友:战魂
  • 2021-02-13 05:14
起始地址偏移量是什么,怎么看?
计算空间大小时,那还得考虑对齐,但我不知道,结构的起始地址偏移量怎么看,比如先定义一个char再定义一个int再定义一个double最后定义一个char在32位系统上运行,为何大小是24,给分一下。。
请赐教!!!
最佳答案
  • 五星知识达人网友:由着我着迷
  • 2021-02-13 06:14
个操作系统都有自己的默认内存对齐系数
内存对齐可以用一句话来概括:
“数据项只能存储在地址是数据项大小的整数倍的内存位置上”
例如int类型占用4个字节,地址只能在0,4,8等位置上。
  同样的:double类型只能在 0 8 16等位置上。
  char   0
  int    8
  double 16
  char   24
  size=24
  struct xx{
char b; 0
char d; 1
int a;  4
double c; 16
};
size=16
全部回答
  • 1楼网友:归鹤鸣
  • 2021-02-13 07:46
同问。。。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯