目录
结构体
- 结构体是一种用户定义的数据类型,它允许我们将不同类型的数据组合在一起,形成一个单独的实体。
- 结构体由多个元素(也称为成员)组成,并且每个元素可以是不同的数据类型,例如整数、浮点型、字符等等。
- 结构体的声明使用关键字
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,并打印了两个成员的值。请注意,当我们更改一个成员的值时,其他成员的值也会相应地改变。
扫描二维码关注公众号,回复:
16397919 查看本文章
枚举
- 枚举是一种用户定义的数据类型,它允许我们将一组具有相关性的命名值分配给一个类型。
- 枚举的声明使用关键字
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 语言程序中使用它们。如有不足之处,欢迎在评论区指出~