#include<GUIQU.h>
int main
{
上期回顾: 【C语言回顾】结构体
个人主页:C_GUIQU
专栏:【C语言学习】
return 一键三连;
}
前言
各位小伙伴大家好!上期小编给大家讲解了C语言中的结构体,接下来我们讲解一下联合和枚举!
1. 联合体
1.1 联合体的声明
在C语言中,联合体(Union)是一种特殊的数据类型,它允许在相同的内存位置存储不同类型的数据。联合体中的每个成员都有自己的类型和大小,但是联合体的内存大小等于其最大成员的大小。
联合体的声明通常包括以下几个部分:
- 关键字
union
:表示声明的是一个联合体。 - 联合体名:一个合法的标识符,用于命名这个联合体。
- 成员列表:由多个成员组成,每个成员都有自己的类型和名称。
联合体的声明示例如下:
union Data {
int intValue; // 整型成员
float floatValue; // 浮点型成员
char stringValue[20]; // 字符数组成员
};
在这个例子中,我们声明了一个名为 Data
的联合体,它包含三个成员:一个整型成员 intValue
、一个浮点型成员 floatValue
和一个字符数组成员 stringValue
。联合体的内存大小至少与 stringValue
成员的大小相同,因为 stringValue
是最大的成员。
联合体的使用方式通常是这样的:
union Data data;
data.intValue = 10; // 设置整型成员的值
printf("整型成员的值:%d\n", data.intValue);
data.floatValue = 3.14; // 设置浮点型成员的值
printf("浮点型成员的值:%f\n", data.floatValue);
data.stringValue[0] = 'A'; // 设置字符数组成员的值
printf("字符数组成员的值:%c\n", data.stringValue[0])