C语言教程:解析结构体与共用体

需积分: 0 1 下载量 14 浏览量 更新于2024-06-29 收藏 835KB PPT 举报
“C语言教学,重点讲解结构体的使用,适合初学者学习。” 在C语言中,结构体(Structure)是一种非常重要的数据类型,它允许我们将不同类型的数据组合在一起,形成一个有组织的整体,使得这些数据可以作为一个单元进行操作。结构体在实际编程中有着广泛的应用,比如表示复杂的数据实体,如本例中的学生信息。 第11章《结构体与共用体》主要介绍了如何定义和使用结构体。在学习结构体之前,我们已经接触了基本数据类型(如整型、浮点型、字符型等)以及数组,但这些数据类型无法方便地表示具有内在关联的不同数据项的组合。例如,当我们需要表示一个学生的信息时,简单的变量无法体现各个属性(如学号、姓名、性别、年龄、成绩和地址)之间的关系。 结构体的定义方式如下: ```c struct struct_name { data_type member1; data_type member2; ... }; ``` 在上述代码中,`struct_name`是结构体的类型名,`data_type`是成员变量的数据类型,`member1`, `member2`等是成员变量的名字。定义完结构体类型后,我们可以创建该类型的变量,如下所示: ```c struct struct_name variable_name; ``` 例如,对于表示学生信息的结构体,我们可以定义如下: ```c struct student { int num; char name[10]; char sex; int age; float score; char addr[30]; }; ``` 这里,`struct student`是结构体类型,包含了学号(`num`,整型)、姓名(`name`,字符数组,最多10个字符)、性别(`sex`,字符型)、年龄(`age`,整型)、成绩(`score`,浮点型)和地址(`addr`,字符数组,最多30个字符)。定义结构体类型后,可以创建`struct student`类型的实例来存储具体的学生信息。 使用结构体变量时,可以像访问普通变量一样访问其成员,如: ```c struct student stu1; stu1.num = 10010; strcpy(stu1.name, "张三"); stu1.sex = 'M'; stu1.age = 1991; stu1.score = 85.5; strcpy(stu1.addr, "Chengdu"); ``` 通过这种方式,结构体使得我们能够方便地处理和操作复杂的数据结构,而不仅仅是单一类型的数据。在实际编程中,结构体常常用于表示现实世界中的对象或概念,如文件信息、几何图形的坐标等,极大地提高了代码的可读性和灵活性。