浅谈C语言共用体和与结构体的区别

发布时间 - 2026-01-10 22:52:48    点击率:

共用体与结构体的区别

共用体:

使用union 关键字

共用体内存长度是内部最长的数据类型的长度。

共用体的地址和内部各成员变量的地址都是同一个地址

结构体大小:

结构体内部的成员,大小等于最后一个成员的偏移量+最后一个成员大小+末尾的填充字节数。

结构体的偏移量:某一个成员的实际地址和结构体首地址之间的距离。

结构体字节对齐:每个成员相对于结构体首地址的偏移量都得是当前成员所占内存大小的整数倍,如果不是会在成员前面加填充字节。结构体的大小是内部最宽的成员的整数倍。

共用体

#include <stdio.h>
//gcc让不同类型的变量共享内存地址 ,同一时间只有一个成员有效
union data{ 
  int a;
  char b;
  int c;
};


int main(){
  union data data_1 = {1};//初始化时只填写一个值。(同一时间只有一个成员有效)
  data_1.b = 'c';
  data_1.a = 10;//后赋值的才有效。前面的赋值被覆盖
  //打印地址,发现指向同一个地址
  printf("%p\n%p\n%p\n",&data_1.a,&data_1.a,&data_1.a);
  return 0;
}

以上这篇浅谈C语言共用体和与结构体的区别就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


# 结构体与共用体的区别  # 深入分析C语言中结构体指针的定义与引用详解  # C语言中结构体(struct)的几种初始化方法  # 浅谈C语言中结构体的初始化  # C语言 结构体(Struct)详解及示例代码  # C语言结构体(struct)常见使用方法(细节问题)  # C语言 共用体(Union)详解及示例代码  # C语言中结构体和共用体实例教程  # 给大家  # 只有一个  # 偏移量  # 体内  # 都是  # 整数倍  # 会在  # 希望能  # 如果不是  # 这篇  # 相对于  # 都得  # 浅谈  # 所占  # 小编  # 不同类型  # 大家多多  # 最宽  # style  # background 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权  Laravel观察者模式如何使用_Laravel Model Observer配置  UC浏览器如何切换小说阅读源_UC浏览器阅读源切换【方法】  Win10如何卸载预装Edge扩展_Win10卸载Edge扩展教程【方法】  javascript事件捕获机制【深入分析IE和DOM中的事件模型】  Laravel怎么创建自己的包(Package)_Laravel扩展包开发入门到发布  简单实现jsp分页  Laravel的.env文件有什么用_Laravel环境变量配置与管理详解  昵图网官网入口 昵图网素材平台官方入口  Python企业级消息系统教程_KafkaRabbitMQ高并发应用  Laravel怎么定时执行任务_Laravel任务调度器Schedule配置与Cron设置【教程】  Android使用GridView实现日历的简单功能  Python并发异常传播_错误处理解析【教程】  Laravel模型事件有哪些_Laravel Model Event生命周期详解  购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?  Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】  电商网站制作价格怎么算,网上拍卖流程以及规则?  如何在宝塔面板中创建新站点?  如何在腾讯云服务器快速搭建个人网站?  微博html5版本怎么弄发语音微博_语音录制入口及时长限制操作【教程】  瓜子二手车官方网站在线入口 瓜子二手车网页版官网通道入口  如何彻底卸载建站之星软件?  桂林网站制作公司有哪些,桂林马拉松怎么报名?  装修招标网站设计制作流程,装修招标流程?  如何在IIS7上新建站点并设置安全权限?  轻松掌握MySQL函数中的last_insert_id()  高端企业智能建站程序:SEO优化与响应式模板定制开发  WordPress 子目录安装中正确处理脚本路径的完整指南  如何在 Pandas 中基于一列条件计算另一列的分组均值  如何用AI帮你把自己的生活经历写成一个有趣的故事?  Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives  php打包exe后无法访问网络共享_共享权限设置方法【教程】  如何为不同团队 ID 动态生成多个“认领值班”按钮  Laravel Pest测试框架怎么用_从PHPUnit转向Pest的Laravel测试教程  北京的网站制作公司有哪些,哪个视频网站最好?  打开php文件提示内存不足_怎么调整php内存限制【解决方案】  常州企业网站制作公司,全国继续教育网怎么登录?  北京企业网站设计制作公司,北京铁路集团官方网站?  详解MySQL数据库的安装与密码配置  关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)  Laravel队列由Redis驱动怎么配置_Laravel Redis队列使用教程  手机网站制作与建设方案,手机网站如何建设?  Laravel模型关联查询教程_Laravel Eloquent一对多关联写法  如何选择可靠的免备案建站服务器?  如何自定义建站之星网站的导航菜单样式?  图册素材网站设计制作软件,图册的导出方式有几种?  如何快速使用云服务器搭建个人网站?  Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】  laravel怎么为应用开启和关闭维护模式_laravel应用维护模式开启与关闭方法  使用PHP下载CSS文件中的所有图片【几行代码即可实现】