做暧暧暖网站欧美,wordpress keywords插件,摄影之友官网,网站美工设计什么是平衡第十三课#xff1a;结构体和联合体
学习目标#xff1a;
理解结构体的基本概念和如何定义结构体。学习如何使用结构体来组织相关数据。了解联合体的概念及其与结构体的不同点。
学习内容#xff1a; 结构体 概念#xff1a; 结构体是C中用于表示一组相关数据的复合数据…第十三课结构体和联合体
学习目标
理解结构体的基本概念和如何定义结构体。学习如何使用结构体来组织相关数据。了解联合体的概念及其与结构体的不同点。
学习内容 结构体 概念 结构体是C中用于表示一组相关数据的复合数据类型。它允许将不同或相同类型的数据项组织为一个单一的数据类型。代码示例#include iostream
#include string// 定义一个结构体来存储学生信息
struct Student {std::string name;int age;float gpa;
};int main() {// 创建一个Student结构体的实例Student student1;student1.name Alice;student1.age 20;student1.gpa 3.8f;// 访问并输出学生信息std::cout Student Name: student1.name std::endl;std::cout Student Age: student1.age std::endl;std::cout Student GPA: student1.gpa std::endl;return 0;
}预计输出效果Student Name: Alice
Student Age: 20
Student GPA: 3.8使用场景 结构体适合用于将一组逻辑上相关的数据项组织在一起比如学生的记录、产品的目录等。 联合体 概念 联合体是一种特殊的数据类型允许在相同的内存位置存储不同的数据类型。联合体的大小等于其最大成员的大小。代码示例#include iostream// 定义一个联合体可以存储整数、浮点数或字符
union Data {int i;float f;char c;
};int main() {Data data;data.i 10;std::cout Data as integer: data.i std::endl;data.f 220.5;std::cout Data as float: data.f std::endl;// 注意现在不能再使用data.i来获取整数因为最后一次赋值是浮点数data.c A;std::cout Data as char: data.c std::endl;// 注意现在data.f也不是有效的因为最后一次赋值是字符return 0;
}预计输出效果Data as integer: 10
Data as float: 220.5
Data as char: A使用场景 当你需要在同一时间只存储一个项但这个项可能是多种不同的类型中的一个时使用联合体可以节省内存。
练习题 编写一个C程序定义一个名为Rectangle的结构体包含长(width)和高(height)两个成员。在main函数中创建一个Rectangle实例并编写一个函数来计算矩形的面积。输出这个矩形的面积。
答案
#include iostream// 定义Rectangle结构体
struct Rectangle {float width;float height;
};// 计算矩形面积的函数
float calculateArea(const Rectangle rect) {return rect.width * rect.height;
}int main() {// 创建Rectangle实例Rectangle myRect;myRect.width 5.5f;myRect.height 10.0f;// 计算并输出面积float area calculateArea(myRect);std::cout The area of the rectangle is: area std::endl;return 0;
}预计输出效果
The area of the rectangle is: 55目录 第十四课类和对象