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

struct与union

时间:2015-04-18 11:15:27      阅读:114      评论:0      收藏:0      [点我收藏+]

标签:

1. union的长度

union

{

  int k;

  int p[4];

  double q;

}data;

 

sizeof(data)=20;    //结构体中最大的数据长度

 

2.struct的长度

struct

{

  int k;

  double q;

}data;

 

sizeof(data)=16;  //结构体中最大的数据长度的倍数(默认情况,如果设置了不同的内存对齐另当别论);

          //如果以1字节、4字节对齐的话,sizeof(data)=12;

 

3.struct与union的联合使用

void struct_and_union_use()

{

  union

  {

    unsigned short i;

    struct

    {

      char first;

      char second;

    }half;  

  }data;

 

  data.i=0x4241;

  char tmp=data.half.first;    // 65-‘A‘; 97-‘a‘;  tmp=‘a‘或者tmp=‘b‘(视大小端决定);

}

 

struct与union

标签:

原文地址:http://www.cnblogs.com/hj-blog/p/4436924.html

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