在C语言中,结构体(struct)和联合体(union)是两种重要的数据类型,它们允许你将多个不同的数据类型组合成一个单一的数据类型。
结构体(struct)
结构体是一种复合数据类型,允许你将多个不同类型的数据项组合成一个单独的数据类型。结构体可以包含不同类型的成员,如整数、浮点数、字符等。
下面是一个简单的结构体示例:
#include <stdio.h>
// 定义一个名为student的结构体
struct student {
char name[50];
int age;
float score;
};
int main() {
// 声明一个student类型的变量s
struct student s;
// 为s的成员赋值
strcpy(s.name, "张三");
s.age = 20;
s.score = 90.5;
// 打印s的成员
printf("Name: %s, Age: %d, Score: %.1f\n", s.name, s.age, s.score);
return 0;
}
在这个例子中,我们定义了一个名为student
的结构体,它包含三个成员:一个字符数组name
用于存储学生姓名,一个整数age
用于存储学生年龄,和一个浮点数score
用于存储学生分数。然后我们在main
函数中声明了一个student
类型的变量s
,并为其成员赋值。
联合体(union)
联合体是一种特殊的数据类型,允许你在相同的内存位置存储不同的数据类型。但是,在任何给定的时间,联合体只能保存一个成员的值。
下面是一个简单的联合体示例: