#include <stdio.h>union u1
{char a[13];int b;
};int main(void)
{printf("%d\n", sizeof(u1));return 0;
}

结果为16。

联合体的大小取决于它所有的成员中占用空间最大的一个成员的大小。u2最大的空间是char[13],但是因为另一个成员int b的存在,u2的对齐方式变成4,所以u2的大小必须在4的对齐上占用空间最接近13,即16。

稍微修改代码

#include <stdio.h>#pragrma pack(2)union u1
{char a[13];int b;
};int main(void)
{printf("%d\n", sizeof(u1));return 0;
}

结果为14,因为对齐方式改为2了。

C学习杂记(四)sizeof计算联合体大小相关推荐

  1. C语言高级编程:sizeof计算数组大小需要注意的问题

    测试平台:64位 X86 Ubuntu 1. 代码: #include <stdio.h>void main(void) {char a[20];printf("sizeof(a ...

  2. sizeof计算类大小

    类的sizeof大小一般是类中的所有成员的sizeof大小之和,这个就不用多说. 不过有两点需要注意:1)当类中含有虚成员函数的时候,例如: class B { float a; public: vi ...

  3. TCP/IP学习(四)TCP缓冲区大小及限制

    这个问题在前面有的部分已经涉及,这里在重新总结下.主要参考UNIX网络编程. (1)数据报大小IPv4的数据报最大大小是65535字节,包括IPv4首部.因为首部中说明大小的字段为16位. IPv6的 ...

  4. sizeof 计算struct大小

    为什么80%的码农都做不了架构师?>>>    http://bbs.ednchina.com/view_comments.jspa?entry_id=184859 很有意思的一个事 ...

  5. 学习杂记十五:页面大小4KB,为什么是B不是b

    答案来源:https://zhidao.baidu.com/question/260315603.html 操作系统页面大小4KB 计算机操作系统中分页存储管理方式这样讲: 其中0~11位为页内地址, ...

  6. 认识联合体(共用体)以及联合体大小的计算方法

            目录 1.什么是联合体 2.联合体的特点 3.联合体大小的计算 1.什么是联合体 联合体是一种特殊的自定义类型,联合体中的成员可以共用一部分内存,所以也叫做共用体 联合体的声明和定义如 ...

  7. sizeof()计算结构体的大小

    原文链接:sizeof()计算结构体的大小_海月汐辰-CSDN博客_结构体的sizeof怎么计算 简要说明:结构体成员按照定义时的顺序依次存储在连续的内存空间,但是结构体的大小并不是简单的把所有成员大 ...

  8. 使用sizeof()计算结构体大小

    下面代码的输出结果是: #include <iostream> using namespace std; #pragma pack(4) struct T{ char a; short b ...

  9. 【C 语言】数组 ( 指针退化验证 | 计算数组大小 | #define LENGTH(array) (sizeof(array) / sizeof(*array)) )

    文章目录 一.指针退化验证 二.完整代码示例 一.指针退化验证 nnn 维数组 作为 函数参数 , 会退化为 指针 , 注意这里只有 最高维 第 nnn 维 会 退化为指针 , 该指针指向 若干 n− ...

最新文章

  1. jQuery在绑定事件时如何传入参数
  2. spring之Environment
  3. github使用_一文轻松学会GitHub的使用
  4. mysql排序由低到高_MySQL入门系列(四)—— 排序查询
  5. SAP UI5是如何从浏览器读取语言设置并按照优先级排序的
  6. 【BZOJ 2753】 2753: [SCOI2012]滑雪与时间胶囊 (分层最小树形图,MST)
  7. Kubernetes探针踩坑记
  8. jcmd jmap应用:一个String经典笔试题的验证
  9. 挑战练习10.6 实现高效的RecyclerView刷新
  10. 没有ggplot这个函数_JavaScript学习笔记(四)——函数基础
  11. 01 按指定格式读写文件出现乱码
  12. ElasticSearch5.1 基本概念和配置
  13. Android编译时冲突报错的完美解决方案
  14. Python暴力破解受密码保护的zip/rar文件
  15. 2010总结,2011展望
  16. Java后端开发需要掌握什么
  17. 项目管理IPD产品开发
  18. 线索树找*p的中序后继且中序遍历 二叉线索树
  19. 计算机点击应用时总是跳到顶端,电脑总是跳出当前应用程序
  20. CSMA/CA基本原理

热门文章

  1. sql查询字段的值不为空
  2. java开发一个完整的秒杀与竞价网上商城
  3. java实现儿时的超级玛丽游戏
  4. 域名解析是否生效实时检测(阿里云DNS检测)
  5. java光标移动函数_文件内光标的移动 函数基础 定义函数的三种形式 函数的返回值 调用方式...
  6. 京东php asp,jd jd demo 关于php的代码里面是 一些京东的接口 包含了 重要 WEB(ASP,PHP,...) 238万源代码下载- www.pudn.com...
  7. css类选择器类名覆盖优先级
  8. 位运算实现加减乘除四则运算(Java)
  9. python 函数式编程尾递归优化 day16
  10. 【BZOJ3589】动态树