共同体及枚举

本文介绍了C语言中的共用体(Union)和枚举(Enumeration)概念。共用体允许不同类型的变量共享同一块内存空间,主要用于节省内存和实现特定算法。枚举则是定义一组符号常量的类型。同时,文中还提及了大端模式和小端模式在数据存储中的差异。

共同体

共用体和结构体类似,也是—种构造类型的数据结构。既然是构造类型的,咱们得先定义出类型,然后用类型定义变量。定义共用体类型的方法和结构体非常相似,把struct改或union就可以了。在进行某些算法的时候,需要使几种不同类型的变量存到同一段内存单元中,几个变量所使用空间相互重叠这种几个不同的变量共同占用一段内存的结构,在C语言中,被称作"共用体”类型洁构,共用体所有成员占有同一段地址空间

1.概念:在进行某些算法的C语言编程的时候,需要使几种不同类型的变量存放到同一段内存单元中。也就是使用覆盖技术,几个变量互相覆盖。这种几个不同的变量共同占用一段内存的结构,在C语言中,被称作“共用体”类型结构,简称共用体,也叫联合体。各种程序语言都有这种数据结构汇编,C语言,C++都有这种数据类型,它就是把各种基本类型捆绑在一起。

2.主要用途:各种程序语言都有这种数据结构,汇编,C语言,C++都有这种数据类型,它就是把各种基本类型捆绑在一起。

3.特别之处:“联合”与“结构”有一些相似之处。但两者有本质上的不同。在结构中各成员有各自的内存空间,一个结构体变量的总长度大于等于各成员长度之和。而在“联合”中,各成员共享一段内存空间,一个联合变量的长度等于各成员中最长的长度。应该说明的是,这里所谓的共享不是指把多个成员同时装入一个联合变量内,而是指该联合变量可被赋予任一成员值,但每次只能赋一种值,赋入新值则冲去旧值。如下面介绍的“单位”变量,如定义为一个可装入“班级”或“教研室”的联合后,就允许赋予整型值(班级)或字符型(教研室)。要么赋予整型值,要么赋予字符型,不能把两者同时赋予它。联合类型的定义和联合变量的说明:一个联合类型必须经过定义之后,才能把变量说明为该联合类型。

4.共用体的定义和使用:

	//共用体定义方式
	//特征:所有成员共用内存空间 
	union stu_tech
	{
		int id;
		int age;
		
	}var_01;//声明共用体时,顺便定义共用体变量vair_01
	union  stu_tech var_02;//定义共用体变量var_02 

枚举

声明,定义变量,打印

	//1.声明枚举类型 
	enum week
	{
		mon=1,	//单独赋值,修改基准 
		tue,
		wed,
		thu=6,	//单独赋值,修改后面的基准 
		fir,
		sat,
		sun
	};
	//2.定义变量,变量名workday,weekday 
	enum week  workday,weekday;
	workday=mon; 
	printf("workday=%d\n",workday);

大端模式和小端模式

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值