码迷,mamicode.com
首页 > 其他好文 > 详细

字节对齐实践(2)

时间:2015-06-02 20:14:03      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:sizeof   字节对齐   union   union长度   

本篇是上一篇字节对齐的补充。主要补充了包括数组,以及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)

标签:sizeof   字节对齐   union   union长度   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!