结构体与共用体实验报告
时间: 2023-07-21 12:03:04 浏览: 65
实验目的:
1.了解结构体和共用体的概念和用法;
2.掌握结构体和共用体的定义和使用方法;
3.掌握结构体和共用体在程序中的应用。
实验原理:
结构体是由不同数据类型的数据成员组成的一种自定义数据类型,数据成员可以是基本数据类型、数组、指针和其他结构体类型等。结构体中的数据成员可以被单独访问和操作。
共用体是一种特殊的结构体,它的所有成员共享同一块内存空间。共用体中所有成员的地址都是相同的,因此修改一个成员的值会影响其他成员的值。共用体常用于数据类型转换和数据压缩等方面。
实验步骤:
1.定义一个结构体类型,包含学生的姓名、学号、成绩等信息。
2.定义一个共用体类型,包含一个整型变量和一个浮点型变量。
3.在主函数中定义结构体类型的变量和共用体类型的变量,并对它们进行赋值。
4.输出结构体类型的变量和共用体类型的变量的值。
5.修改共用体类型的变量的值,并输出修改后的结果。
实验代码:
```c
#include <stdio.h>
#include <string.h>
//定义结构体类型
struct Student {
char name[20];
int id;
float score;
};
//定义共用体类型
union Data {
int i;
float f;
};
int main() {
//定义结构体类型的变量并赋值
struct Student stu = {"Tom", 10001, 89.5};
//输出结构体类型的变量的值
printf("Name: %s\n", stu.name);
printf("ID: %d\n", stu.id);
printf("Score: %.1f\n", stu.score);
//定义共用体类型的变量并赋值
union Data data;
data.i = 100;
//输出共用体类型的变量的值
printf("i = %d\n", data.i);
printf("f = %.1f\n", data.f);
//修改共用体类型的变量的值
data.f = 3.14;
//输出修改后的结果
printf("i = %d\n", data.i);
printf("f = %.1f\n", data.f);
return 0;
}
```
实验结果:
```c
Name: Tom
ID: 10001
Score: 89.5
i = 100
f = 0.0
i = 1078523331
f = 3.1
```
实验分析:
在本次实验中,我们定义了一个结构体类型和一个共用体类型,并对它们进行了赋值和输出。同时,我们还修改了共用体类型的变量的值,并输出了修改后的结果。
通过本次实验,我们深入了解了结构体和共用体的概念和用法,掌握了结构体和共用体的定义和使用方法,进一步掌握了结构体和共用体在程序中的应用。