我爱占星网 我爱占星网
首页
编程
java
php
前端
首页 编程 java php 前端

struct内存分配模式

typedef union {
Long L;
int i[5] ;
char c;
} UNION;
typedef struct {
int like;
UNION coin;
double collect;
} STRUCT ;
int main(void) {
printf("sizeof (UNION)三%zu\n",sizeof(UNION) );
printf("sizeof(STRUCT) = %zu\n", sizeof(STRUCT)) ;}
这个struct不应该输出16吗,为什么是32

因为struct中有double类型,因此会是8字节对齐。union中最长的是int i[5],加上前面的int like,正好6个int,即24字节。所以加上8就是32字节

近期文章

  • attributes不完整
  • python安装不上mesonpy库
  • SDL文字显示奇怪像素块粘黏
  • 量化分析报错,求帮助
  • 根据域显示不同的内容
  • 关于c语言字符串的问题
  • 研一怎么选软件开发方向?
  • 电梯问题,求耗费多长时间。
  • C语言数组中最大连续子数组的乘积怎么算?(连续就是相邻两个数之间相差一如:1 2 3))
  • 学习if语句中的问题
  • java练习 需要引导
  • 这样的循环结构要怎么写啊?🧐🧐(🙏🏻🙏🏻☺️)
  • 一直在报错,怎么修改?
  • java基础语句问题
  • 关于“特殊堆栈“取中值的理解
  • 调试时Aptana Studio命令行
  • 这样的循环结构怎么写啊?🧐🧐(🙏🏻🙏🏻)
  • 51单片机驱动4脚1.3寸oled屏
  • 最后那个if语句好像没有进去,p输出还是0
  • 关于Python的问题,不懂该怎么做

Copyright ©2022 我爱占星 All Rights Reserved.

浙ICP备2022030071号-1

部分图文来自网络,如有侵犯您的版权,请告诉我们删除

友情链接:代码精华