目录
结构体
联合体
枚举
结构体
- 结构体是一种用户定义的数据类型,它允许我们将不同类型的数据组合在一起,形成一个单独的实体。
- 结构体由多个元素(也称为成员)组成,并且每个元素可以是不同的数据类型,例如整数、浮点型、字符等等。
- 结构体的声明使用关键字
struct
,并且通常定义在函数外部。
来看一个简单的例子:
#include <stdio.h> struct Student
{ char name[50];int age; float height;
}; int main(){ struct Student s;strcpy(s.name, "Tom");s.age = 18; s.height = 1.75;printf("Name: %s\n", s.name); printf("Age: %d\n", s.age);printf("Height: %f\n", s.height); return 0;
}
在上面的代码中,我们定义了一个名为 Student
的结构体,它由三个元素组成:姓名、年龄和身高。在主函数中,我们创建了一个 Student
类型的变量 s
,并将其成员初始化为一些值。最后,我们使用 printf()
函数打印了这些值。
联合体
- 联合体是另一种用户定义的数据类型,它与结构体类似,但只能同时保存其中一个成员。
- 联合体的声明使用关键字
union
,并且通常也定义在函数外部。
例子如下:
#include <stdio.h> union Number
{ int integer;float decimal;}; int main()
{ union Number n; n.integer = 10; printf("Integer: %d\n", n.integer); n.decimal = 3.14; printf("Decimal: %f\n", n.decimal);printf("Integer: %d\n", n.integer); return 0;
}
在上面的代码中,我们定义了一个名为 Number
的联合体,它由两个成员组成:整数和浮点数。在主函数中,我们创建了一个 Number
类型的变量 n
,并将其整数成员初始化为 10。之后,我们将其浮点数成员初始化为 3.14,并打印了两个成员的值。请注意,当我们更改一个成员的值时,其他成员的值也会相应地改变。
枚举
- 枚举是一种用户定义的数据类型,它允许我们将一组具有相关性的命名值分配给一个类型。
- 枚举的声明使用关键字
enum
,并且通常定义在函数外部。
老规矩,上代码:
#include <stdio.h>enum Weekday{ Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday }; int main(){ enum Weekday today; today = Wednesday; printf("Today is %d\n", today); return 0;}
在上面的代码中,我们定义了一个名为 Weekday
的枚举类型,它由七个值组成:星期一到星期日。在主函数中,我们创建了一个 Weekday
类型的变量 today
,并将其赋值为星期三。最后,我们使用 printf()
函数打印了 today
的值。
希望这篇博客能够帮助初学者理解结构体、联合体和枚举的概念以及如何在 C 语言程序中使用它们。如有不足之处,欢迎在评论区指出~