C语言自定义类型(结构体+枚举+联合)
作者:野牛程序员:2023-08-23 12:07:50C语言阅读 2774
在 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语言写一个动态通讯录
