首页 > 其他 > 详细

字节对齐实践(2)

时间:2015-06-02 20:12:17      阅读:93      评论:0      收藏:0      [点我收藏+]

本篇是上一篇字节对齐的补充。主要补充了包括数组,以及union类型的结构的实践。

/*  编辑编译环境:Dev-C++ 4.9.9.2  */
/* 要点:                            
 * 1. sizeof union,struct, class测试 。
 * 2. 空类长度为 1,正如空结构体一样。 
 * 3. struct S2 有字节对齐,而 struct S3没有,why? 
*/

/*  source:                       */ 
#include <stdio.h>
typedef union {
        long i;
        int k[5];
        char c;
        } U1;

struct S1 { 
       int cat;
       double dog;
       };

struct S2 { 
       int cat;
       U1 cow;
       double dog;
       };

struct S3 { 
       int cat;
       double dog;
       U1 cow;
       };

class A{ };
int main()
{                                                           // result:
    printf(" sizeof(U1) = %d/n", sizeof(U1));               // 20
    printf(" sizeof(struct S1) = %d/n", sizeof(struct S1)); // 16
    printf(" sizeof(struct S2) = %d/n", sizeof(struct S2)); // 32
    printf(" sizeof(struct S3) = %d/n", sizeof(struct S3)); // 40
    printf(" sizeof(A) = %d/n", sizeof(A));                 // 1

    while(1);
    return 0;
}

字节对齐实践(2)

原文:http://blog.csdn.net/liranke/article/details/46333597

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!