结构体与共用体——共用体——C语言——day16

昨天介绍了下结构体,今天主要介绍共用体,枚举

共用体

概念:有时需要使几种不同类型的变量存放到同一段内存单元中。
例如,可把一个整型变量、一个字符型变量、一个浮点型变量放在同一个地址开始的内存单元中 。以上三个变量在内存中占的字节数不同,但都从同 地址开始(图中设地址为 1000) 存放。也就是使用覆盖技术,几个变量互相覆盖。这种使几个不同的变量共占同一段内存的结构,称为“共用体”类型的结构。
在这里插入图片描述

定义共用体类型变量的一般形式为:
union 共用体名
{
   
成员列表
}变量列表;

例如:
union data 
{
   
	int i; 
	char ch; 
	float f; 
}a,b,c; 
//变量列表也可以在其他函数中定义。

注意:
1.共用体
初始化 — 只能给一个值,默认是给到第一个成员变量的
2.共用体成员变量辅助
共用体用的数据最终存储的应该是最后一次给到的值。
但是只能影响到自己数据类型对应的空间中的数据
3.可以判断大小端
4.实际用途
a.节省空间
b.进行数据转换
5.共用体的大小:是成员变量中最大的那个成员的大小
6.共用体类型可以是函数参数,也可以是函数返回值类型
共用体,结构体类型定义出来之后,
a.定义变量
b.定义数组
c.定义指针
d.做函数参数,返回值类型

eg:
#include<stdio.h>

union str{
   
	int a;
	char b;
	short c;
};

int main(void)
{
   
	union str d;
	
	d.a = 0x12345678;
	d.b = 'a';
	d.c = 0x99;

	printf("a = %#x\n",d.a);
	printf("b = %c:%#hhx\n",d.b,d.b);
	printf("c = %#x\n",d.c);

return 0;
}

输出的结果为:
在这里插入图片描述

枚举类型

概念:如果一个变量只有几种可能的值,则可以定义为枚举类型。所谓“枚举”是指将变量的值一一列举出来,变量的值只限于列举出来的值的范围内。
声明枚举类型用 enum 开头。

eg:
enum weekday	//enum  枚举类型名 
{
   sun,			//名字 --- 代表一个值 --- 符号常量 
mon,
tue,
wed,
thu,
fri,
sat
};

注意:
1.枚举类型主要提高了代码可读性
2.枚举类型本质上是int类型
枚举类型与整型类型兼容
3.不足
因为枚举类型本质上是个整型类型,
所以枚举类型的变量的值,并不能真正限定在指定的哪些值范围中。
4.枚举类型
可以做函数形参和返回值
定义数组也可以,本质上就是整型数据。

相关推荐

  1. C语言——共用

    2024-02-04 13:00:03       13 阅读
  2. 结构共用2

    2024-02-04 13:00:03       12 阅读
  3. 共用类型--c语言

    2024-02-04 13:00:03       30 阅读
  4. C语言共用union

    2024-02-04 13:00:03       12 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-04 13:00:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-04 13:00:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-04 13:00:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-04 13:00:03       20 阅读

热门阅读

  1. 使用go并发网络爬虫

    2024-02-04 13:00:03       33 阅读
  2. Unity游戏开发架构设计指南

    2024-02-04 13:00:03       29 阅读
  3. flutter 中实现前端的promise

    2024-02-04 13:00:03       31 阅读
  4. 八、测试分析报告(软件工程)

    2024-02-04 13:00:03       29 阅读
  5. k8s集群资源(pod、镜像等)自动回收

    2024-02-04 13:00:03       28 阅读
  6. 使用NLTK进行自然语言处理:英文和中文示例

    2024-02-04 13:00:03       35 阅读
  7. offsetof 判断结构体中成员的偏移

    2024-02-04 13:00:03       33 阅读
  8. Git工作中常用命令

    2024-02-04 13:00:03       32 阅读
  9. C语言-1

    2024-02-04 13:00:03       25 阅读
  10. 开源软件的影响力

    2024-02-04 13:00:03       35 阅读