📜  C结构体、共同体、枚举测试1(1)

📅  最后修改于: 2023-12-03 14:40:27.271000             🧑  作者: Mango

C语言中的结构体、共同体、枚举

1. 结构体

在C语言中,结构体是一种用户自定义的数据类型,可包含多个不同类型的数据成员。结构体的定义形式如下:

struct 结构体名 {
    成员类型1 成员名1;
    成员类型2 成员名2;
    // ... 其他成员
};

其中,结构体名是标识符,用于标识这种数据类型。成员类型可以是任意的C数据类型,也可以是其他自定义的结构体。下面是一个简单的例子:

#include <stdio.h>

struct student {
    int id;
    char name[20];
    float score;
};

int main() {
    struct student stu1 = {20190101, "Tom", 85.5};
    printf("id: %d\nname: %s\nscore: %.2f\n", stu1.id, stu1.name, stu1.score);
    return 0;
}

结果输出:

id: 20190101
name: Tom
score: 85.50
2. 共同体

共同体(union)是一种特殊的结构体,所有成员都共享同一片内存空间。定义形式与结构体类似,如下:

union 共同体名 {
    成员类型1 成员名1;
    成员类型2 成员名2;
    // ... 其他成员
};

其中,成员类型可以是任何类型,不限于同一类型。下面是一个例子:

#include <stdio.h>

union test {
    int a;
    char b;
};

int main() {
    union test t;
    t.a = 97;
    printf("t.a: %d\n", t.a);
    printf("t.b: %c\n", t.b);
    return 0;
}

输出:

t.a: 97
t.b: a
3. 枚举

枚举在C语言中表示一组命名的常量,可以提高程序的可读性。定义形式如下:

enum 枚举类型名 {
    标识符1 = 常量1,
    标识符2 = 常量2,
    // ...
};

其中,标识符是命名常量的名称,常量是整数常量。下面是一个例子:

#include <stdio.h>

enum week {
    Mon = 1,
    Tue,
    Wed,
    Thu,
    Fri,
    Sat,
    Sun
};

int main() {
    enum week today;
    today = Mon;
    printf("今天是星期%d\n", today);
    return 0;
}

输出:

今天是星期1

以上就是C语言中的结构体、共同体、枚举的基本介绍和使用方法。在实际编程中,它们是非常有用的数据结构和类型。