C语言关键字之联合体

2023-05-16

联合体(union)定义
比如:
typedef union{
char a[10];
int b;
}UN;

实验

#include<stdio.h>
int main()
{
	union test{
		char a[10];
		int b;			
	};	
	union test union_test;	
	printf("a:0x%x,b:0x%x\n",union_test.a,&union_test.b);
	printf("sizeof(union_test):%d\n",sizeof(union_test));	
	return 0;     
}

运行结果

a:0xce5dadf0,b:0xce5dadf0
sizeof(union_test):12 //int b占4字节,以4字节对齐,char a本身占10字节,那么sizeof(union_test)=4*3.

从上面的实验可以看处:
1.联合体用法类似结构体。但是联合体不会给每个成员分配空间,同一时间只能储存其中一个数据成员,所有数据成员具有相同的起始地址。
2.联合体占用的内存大小,必须足够容纳最宽的成员,大小能被其包含的所有基本数据类型的大小所整除。

判断系统大小端

#include<stdio.h>
int main()
{
	union test{
		int a;
		char b;			
	};	
	union test union_test;	
	union_test.a = 1;
	printf("union_test.b:%d \n",union_test.b);
	return (1 == union_test.b);     // union_test.b == 1成立则为小端,否则位大端。
 }

利用union数据类型中所有数据成员具有相同的起始地址这一特性,可以判断系统大小端。
当然某些系统可能同时支持大端和小端两种存储方式,可以用硬件跳线或者编译选项中设置。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C语言关键字之联合体 的相关文章

  • 公有云相关概念——region和AZ、VPC、安全组、公有云网络架构

    https www cnblogs com yunjisuanchengzhanglu p 16164376 html 一 region和az region xff08 区域 xff09 xff1a 一个region可以理解为一个大的独立的
  • Java四大引用详解:强引用、软引用、弱引用、虚引用

    Java四大引用详解 xff1a 强引用 软引用 弱引用 虚引用 java 软引用 mikechen的互联网架构的博客 CSDN博客 1 Java引用 从JDK 1 2版本开始 xff0c 对象的引用被划分为4种级别 xff0c 从而使程序
  • 延时队列方案选择及优缺点分析

    1 前言 https juejin cn post 6987233263660040206 在电商 支付等领域 xff0c 往往会有这样的场景 xff0c 用户下单后放弃支付了 xff0c 那这笔订单会在指定的时间段后进行关闭操作 订单关闭
  • 定时任务方案的正确选取

    在电商 支付等领域 xff0c 往往会有这样的场景 xff0c 用户下单后放弃支付了 xff0c 那这笔订单会在指定的时间段后进行关闭操作 xff0c 细心的你一定发现了像某宝 某东都有这样的逻辑 xff0c 而且时间很准确 xff0c 误
  • Redis教程总结

    Redis redis 时间轮 夜猫吃夜宵的博客 CSDN博客 一 Redis特性 快 为什么快 xff1f 基于内存操作 xff0c 操作不需要跟磁盘交互 本身就是k v结构 xff0c 类似hashMap xff0c 所以查询速度接近O
  • Shiro和Spring Security对比(3)

    https www cnblogs com hanease p 15906339 html 1 两个基本的概念 安全实体 xff1a 系统需要保护的具体对象数据权限 xff1a 系统相关的功能操作 xff0c 例如基本的CRUD 1 2 S
  • springboot整合邮箱功能一(实战)

    背景介绍 邮件发送其实是一个非常常见的需求 xff0c 用户注册 xff0c 找回密码 校验码等地方 如果使用短信还需缴费 这里发送者邮箱选用了163邮箱 1 pom xml文件的引用 lt xml version 61 34 1 0 34
  • Apache Camel简介

    Apache Camel简介 abinge89的博客 CSDN博客 1 什么是Camel 1 1 来源 Camel项目开始于2007年初 xff0c 虽然年轻 xff0c 但它已经是一个成熟的开源项目 xff0c 基于自由的Apache 2
  • springboot整合邮箱功能二(普通邮件, html邮件, thymleaf邮件)

    SpringBoot整合Email发送邮件 空 白 xfffd 的博客 CSDN博客 https www cnblogs com erlou96 p 16878192 html label1 5 1 准备工作 1 1 qq邮箱设置 本文默认
  • MySQL中Truncate用法详解

    MySQL中Truncate用法详解 Mysql 脚本之家 前言 xff1a 当我们想要清空某张表时 xff0c 往往会使用truncate语句 大多时候我们只关心能否满足需求 xff0c 而不去想这类语句的使用场景及注意事项 本篇文章主要
  • cesium 移除实体方法

    问题 xff1a cesium 移除entity 后 xff0c viewer entities values没有任何entity时 xff0c 图层上还会显示 解决方法 xff1a 无效方法 1 模拟代码 viewer entities
  • 时间轮算法在Netty和Kafka中的应用

    1 时间轮算法 时间轮算法 xff08 Time Wheel Algorithm xff09 是一种高效的定时器实现方式 xff0c 主要用于高并发下的定时任务调度 它利用了循环数组的思想 xff0c 将时间轴分成一个一个的时间槽 xff0
  • RabbitMQ事务概述

    RabbitMQ支持事务 transaction xff0c RabbitMQ中与事务机制有关的方法有三个 xff1a txSelect txCommit 以及txRollback xff08 1 xff09 txSelect用于将当前ch
  • 消息队列原理和应用场景简介

    一 消息队列的场景 异步处理流量控制服务解耦发布订阅高并发缓冲 1 1 异步处理 主要场景 xff1a 短信通知 终端状态推送 App推送 用户注册等 秒杀系统为例 更快速返回结果 xff1b 减少等待 xff0c 实现并发处理 xff0c
  • 消息队列-ZeroMQ

    一 吞吐量和延时性 二 ZeroMQ解决传统网络编程的问题 调用的socket接口较多 xff1b TCP是一对一的连接 xff1b 一对多 xff0c reactor模式编程需要关注很多socket细节问题 xff1b 不支持跨平台编程
  • SpringSecurity登录原理(源码级讲解

    SpringSecurity登录原理 xff08 源码级讲解 xff09 简书 一 简述 首先会进入UsernamePasswordAuthenticationFilter并且设置权限为null和是否授权为false xff0c 然后进入P
  • Spring Security生命周期简述

    Spring Security系列 Spring Security生命周期之起源 springsecurity生命周期 马各马它的博客 CSDN博客 Spring Security系列 Spring Security生命周期之诞生 spri
  • @Import注解详解

    64 Import注解详解 中年危机的老男人的博客 CSDN博客 一 64 Import注解提供了三种用法 64 Import一个普通类 spring会将该类加载到spring容器中 64 Import一个类 xff0c 该类实现了Impo
  • Spring Security简单身份认证配置(thymleaf,密码加密,JDBC,LDAP)

    Spring Security系列 Spring Security简单身份认证配置 二 websecurityconfig login post 马各马它的博客 CSDN博客 一 认证 登录 流程 引用spring boot starter

随机推荐

  • 系统编程__2__父子进程的创建和回收

    系统编程 这里写的是对于小白来说更多的了解系统编程的文章 xff0c 有写的不对的地方还恳请各位大佬指出错误 xff0c 小编一定会多多采纳 手动多谢 那么 xff0c 上一次我们稍微了解了一下关于系统编程的一些主要内容 没有看到的童鞋还请
  • MobaXterm工具

    1 登录 1 1 远程登录 1 1 1 内建命令行模式 1 点击图标 xff0c 在弹出的窗口中选择SSH连接 xff0c 然后填入Remote host IP及用户名 2 点击确认后输入密码即可 1 1 2 Gnome模式 类似VNC 1
  • window bat cmd 获取cpu 利用率(使用率) 方式收集

    window bat cmd 获取cpu 利用率 使用率 跟 性能计数器一致 xff0c 方式收集 1 typeperf 1秒一输出 typeperf 34 processor total processor time 34 若是只要执行一
  • pytesseract提取识别图片中的文字

    目录 1 获取tesseract版本号 2 获取语言包列表 3 识别图片中的文字 4 获取图片中文字的详细信息 5 识别图片中的文字和位置 6 识别osd信息 7 识别并生成xml文件 避坑指南 xff1a pytesseract是对Tes
  • python中的鸭子类型

    浅层理解 走路像鸭子 xff0c 说话像鸭子 xff0c 它就是鸭子 深层理解 指的是面向对中 xff0c 子类不需要显示的继承某个类 xff0c 只要有某个的方法和属性 xff0c 那我就属于这个类 编程语言中的鸭子类型说明 假设有个鸭子
  • Ubuntu 使用 du 查看某个文件夹大小

    在 Ubuntu 系统中 xff0c 你可以使用 du 命令来查看文件夹的大小 例如 xff0c 如果你想查看文件夹 var log 的大小 xff0c 你可以使用如下的命令 xff1a du sh var log 其中 xff0c s 选
  • istio 负载均衡功能验证

    前提 xff1a 可参考官网文档进行前期工作 xff1a https istio io latest zh docs setup getting started 1 K8S 集群已经部署了 istio 2 已部署了官网 bookinfo 相
  • c语言实现 双链表的操作——头插法、尾插法、查找、插入、删除

    双链表的插入操作 xff1a include lt stdio h gt include lt malloc h gt typedef struct DNode int data struct DNode prior next DNode
  • 试写一个算法判定给定的字符序列是否为回文。(提示:将一半字符入栈)

    数据结构与算法 第三章栈和队列课后习题 课本第85页3 2 题目 回文是指正读反读均相同的字符序列 如 34 abba 34 和 34 abdba 34 均是回文 但 34 good 34 不是回文 试写一个算法判定给定的字符序列是否为回文
  • 穿山甲广告切后台点Icon进入后广告消失或游戏重启的解决方法

    穿山甲广告切后台点Icon进入后广告消失或游戏重启的解决方法 by panda 问题1 xff1a Untiy接入穿山甲广告 xff0c Android 端会出现播放视频广告时切后台 xff08 点Home键 xff09 后 xff0c 点
  • 关系代数查询语句的使用

    题目来自百度文库 xff0c 这里摘录出来方便复习 为连接符号 1 设有如下所示的关系 xff1a 学生表S S SNAME AGE SEX 课程表C C CNAME TEACHER 和学生选课表SC S C GRADE xff0c 其中
  • 从键盘输入 10 个学生的有关数据,然后把他们转存到磁盘文件中去

    1 题目 函数 xff1a save read 功能 xff1a 用二进制方式向文件读写一组数据 描述 xff1a 从键盘输入 10 个学生的有关数据 xff0c 然后把他们转存到磁盘文件中去 2 知识点 在程序中不仅需要一次输入输出一个数
  • vim关键字自动高亮,记忆退出位置,显示列号

    在vimrc文件中如下输入 xff1a sudo vim etc vim vimrc 34 Uncomment the following to have Vim jump to the last position when 34 reop
  • CS1704: 已经导入了具有相同的简单名称“xx“程序集

    发布时出现上述错误导出发布失败 xff0c 解决方法 删除现有文件改为 True 再次点击发布问题解决
  • 【 Git学习记录(三)】推荐四款主流的Git代码托管平台 —— GitHub、GitLab、Gitee、Coding

    了解过Git之后 xff0c 作为一个程序猿最基本的 xff0c 你还需要了解目前主流的在线代码托管平台 xff0c 并至少选择其中一款在平时开发中使用 这里特别介绍以下四款 xff1a 国外平台 GitHub 全球最流行的代码托管平台Gi
  • UITableviewCell使用以及自定义高度

    UITableView号称是 ios里面最难使用也是最复杂的一个控件 xff1f 是不是暂且不说 xff0c 反正我觉得HttpRequest也是挺复杂的 但确实被UItableview折磨了一段时间 xff0c 还好搞定了一小半 一 如何
  • iOS 自定义cell高度(非等高)

    小编实在不想多说什么了 直接上代码吧 我觉得我的主要注释写的已经很清楚了 在此说明小编这里用的是xib的写法 如果在其中的运行中有什么问题 请放心评论 我会在第一时间为大家解答 谢谢支持 代码案例 span class hljs numbe
  • C++构造函数中使用new

    注意事项 如果在构造函数中使用new来初始化指针成员 xff0c 则应在析构函数中使用delete new和delete必须相互兼容 new对应delete xff0c new 对应于delete 如果有多个构造函数 xff0c 则必须以相
  • 【python】百度OCR使用

    具体操作流程可以参考第一个参考连接 获取API key和Secret key span class token comment encoding utf 8 span span class token keyword import span
  • C语言关键字之联合体

    联合体 union 定义 比如 xff1a typedef union char a 10 int b UN 实验 include lt stdio h gt int main union test char a 10 int b unio