当前位置:首页C语言 > 正文

C语言自定义类型(结构体+枚举+联合)

作者:野牛程序员:2023-08-23 12:07:50C语言阅读 2596

在 C 语言中,可以使用结构体(struct)、枚举(enum)和联合(union)来创建自定义的数据类型,以便更好地组织和管理数据。下面是关于这三种自定义类型的简单介绍和示例代码。

  1. 结构体(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;
}
  1. 枚举(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;
}
  1. 联合(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
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击