C语言联合与枚举 #
一、联合体 #
1.1 什么是联合体 #
联合体的所有成员共享同一内存空间,大小等于最大成员的大小。
1.2 定义与使用 #
c
#include <stdio.h>
union Data {
int i;
float f;
char c;
};
int main() {
union Data data;
data.i = 10;
printf("int: %d\n", data.i);
data.f = 3.14;
printf("float: %f\n", data.f);
data.c = 'A';
printf("char: %c\n", data.c);
printf("联合体大小: %zu\n", sizeof(data));
return 0;
}
1.3 应用场景 #
- 节省内存
- 数据类型转换
- 网络协议
二、枚举 #
2.1 什么是枚举 #
枚举是命名的整数常量集合。
2.2 定义与使用 #
c
#include <stdio.h>
enum Weekday {
SUNDAY,
MONDAY,
TUESDAY,
WEDNESDAY,
THURSDAY,
FRIDAY,
SATURDAY
};
int main() {
enum Weekday today = WEDNESDAY;
printf("今天是周%d\n", today + 1);
switch (today) {
case SUNDAY:
printf("休息日\n");
break;
case SATURDAY:
printf("休息日\n");
break;
default:
printf("工作日\n");
}
return 0;
}
2.3 指定值 #
c
enum Color {
RED = 1,
GREEN = 2,
BLUE = 4
};
三、总结 #
| 类型 | 特点 |
|---|---|
| 联合体 | 成员共享内存 |
| 枚举 | 命名常量 |
下一步,让我们学习内存管理!
最后更新:2026-03-26