C语言自定义类型(结构体+枚举+联合)
作者:野牛程序员:2023-08-23 12:07:50C语言阅读 2596
在 C 语言中,可以使用结构体(struct)、枚举(enum)和联合(union)来创建自定义的数据类型,以便更好地组织和管理数据。下面是关于这三种自定义类型的简单介绍和示例代码。
结构体(struct):结构体允许你将不同类型的数据组合成一个自定义类型,每个数据项称为结构体的成员。结构体的每个成员可以是不同的数据类型。
#include <stdio.h> // 定义一个结构体 struct Person { char name[50]; int age; float height; }; int main() { // 声明一个结构体变量并初始化 struct Person person1 = {"Alice", 25, 165.5}; // 访问结构体成员 printf("Name: %s\\n", person1.name); printf("Age: %d\\n", person1.age); printf("Height: %.2f\\n", person1.height); return 0; }
枚举(enum):枚举允许定义一组具有有意义的命名常量。每个枚举常量都被分配一个整数值,默认从0开始递增。
#include <stdio.h> // 定义一个枚举 enum Weekday { SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY }; int main() { // 声明一个枚举变量并赋值 enum Weekday today = WEDNESDAY; if (today == WEDNESDAY) { printf("Today is Wednesday.\\n"); } else { printf("Today is not Wednesday.\\n"); } return 0; }
联合(union):联合是一种特殊的数据结构,允许多个成员共用同一块内存空间,但只能同时存储其中的一个成员。
#include <stdio.h> // 定义一个联合 union Data { int intValue; float floatValue; char stringValue[20]; }; int main() { // 声明一个联合变量并初始化 union Data data; data.intValue = 42; // 访问联合成员 printf("Int Value: %d\\n", data.intValue); data.floatValue = 3.14; printf("Float Value: %.2f\\n", data.floatValue); strcpy(data.stringValue, "Hello"); printf("String Value: %s\\n", data.stringValue); return 0; }
通过结构体、枚举和联合,可以更好地组织和管理不同类型的数据,使代码更具可读性和可维护性。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

- 上一篇:C++读取excel数据
- 下一篇:C语言写一个动态通讯录