内存对齐.pptVIP

  • 6
  • 0
  • 约3.85千字
  • 约 19页
  • 2017-08-12 发布于河南
  • 举报
内存对齐 程浩 知识点 一、不涉及位域的内存对齐原则 二、涉及位域的内存对其原则 三、成员变量含有结构体的内存对齐情况 四、要求内存对齐的原因及优点 一个例子 #include?iostream ?2 using?namespace?std; ?3 struct?A ?4 {? ?5 ????char?m;? ?6 ????int?n;? ?7 }; ?8 int?main?() ?9 {? 10 ????A?a;? 11 ????a.m=1;a.n=2; 12 ????printf(sizeof(A)=%d\nsizeof(A.m)=%d\nsizeof(A.n)=%d\n,sizeof(a),sizeof(a.m),sizeof(a.n));? 13 ????return?0; 14 } 一个例子 sizeof(A.m)=1,sizeof(A.n)=4,sizeof(A)不是该1+4=5吗,怎么是8呢? 这是因为程序员眼中的内存与处理机处理内存的不一致,程序员通常认为内存就是一些列简单的字节数组,在C语言以及它的衍生语言中,char*被普遍认为代表一块内存区域,即使是Java也用byte[]来代表原始内存如下图所示: 一个例子 可以看一下内存中的情况,确实是8个字节: 一、不涉及位域的内存对齐原则 规则如下,然后来举例说明: 1)对结构的数

文档评论(0)

1亿VIP精品文档

相关文档