c语言结构体和共同体
时间: 2023-11-08 18:17:43 浏览: 120
C语言中的结构体(struct)和共用体(union)是用于组织和管理多个不同类型的数据的机制。
结构体是由不同类型的变量组成的数据集合。它可以将不同类型的变量封装在一个单独的对象中,方便对这些变量进行操作和管理。结构体的定义使用关键字struct,可以在结构体中定义多个成员变量,每个成员变量可以是不同的数据类型。结构体的定义通常放在函数外部,以便在程序的多个地方使用。
示例代码:
```
// 定义一个结构体
struct Person {
char name[20];
int age;
float height;
};
// 使用结构体
int main() {
// 创建一个结构体变量
struct Person person1;
// 对结构体成员赋值
strcpy(person1.name, "John");
person1.age = 25;
person1.height = 1.8;
// 输出结构体成员
printf("Name: %s\n", person1.name);
printf("Age: %d\n", person1.age);
printf("Height: %.2f\n", person1.height);
return 0;
}
```
共用体是一种特殊的数据类型,它允许多个不同类型的成员共用同一块内存空间。共用体的定义使用关键字union,所有成员都共享同一块内存,但只能同时使用一个成员。共用体适用于在不同的数据类型中存储相同类型的数据,节省内存空间。
示例代码:
```
// 定义一个共用体
union Data {
int i;
float f;
char str[20];
};
// 使用共用体
int main() {
union Data data;
// 对共用体成员赋值
data.i = 10;
// 输出共用体成员
printf("i: %d\n", data.i);
// 在共用体中赋值给不同的成员
strcpy(data.str, "C programming");
printf("str: %s\n", data.str);
return 0;
}
```
总结:
- 结构体用于组织和管理多个不同类型的数据,每个成员有独立的内存空间。
- 共用体用于节省内存空间,多个成员共享同一块内存空间,但只能同时使用一个成员。
阅读全文