谭浩强C语言:自定义数据类型——结构体、联合与枚举的应用

需积分: 10 5 下载量 108 浏览量 更新于2024-07-21 收藏 3.42MB PPT 举报
在谭浩强C语言课件的第9章中,主要探讨了用户如何自己建立数据类型的概念。这一章节的核心内容围绕结构体(struct)展开,结构体是一种用户自定义的数据类型,用于组合不同类型的数据,以便于表示和管理具有内在联系的数据元素。下面详细介绍了该部分的关键知识点: 1. **定义和使用结构体变量** - 结构体允许用户创建自己的数据结构,比如表示学生信息(如学号、姓名、性别、年龄、成绩和家庭地址)。通过`struct`关键字,程序员可以定义一个名为`structStudent`的结构体类型,其中包含`num`(整型)、`name`(字符数组)、`sex`(字符)、`age`(整型)、`score`(浮点型)和`addr`(字符数组)等成员。 2. **结构体类型声明与成员** 声明一个结构体类型的通用形式是:`struct 结构体名称 { 成员列表 };`,例如`structStudent`,其成员如`num`, `name`, `sex`, `age`, `score`, 和 `addr`,分别对应不同类型的数据。 3. **结构体变量的使用** - 创建结构体变量时,首先要定义结构体类型,然后用`struct 类型名`分配内存空间,例如`structStudent stu1;`。变量`stu1`现在可以存储`structStudent`类型的数据。 - 结构体变量的初始化和引用也很关键,可以通过赋值语句对成员进行初始化,如`stu1.num = 1001;`。 4. **结构体类型多样性** - 结构体类型的灵活性体现在可以设计多个不同类型的结构体,如`structTeacher`和`structWorker`,每个结构体都有其独特的成员,以适应特定场景的需求。 5. **嵌套结构体和类型** - 成员可以属于另一个结构体类型,这在某些复杂的数据模型中非常有用,例如一个教师的信息可能包含个人信息(如姓名)和课程信息(如课程名称)等嵌套结构。 6. **typedef的作用** - 为了使代码更易读和编写,可以使用`typedef`来为复杂的结构体类型创建新的别名,如`typedef structStudent Student;`,这样以后就可以使用`Student`代替`structStudent`来声明变量。 总结来说,谭浩强C语言课件的第9章重点讲解了如何利用结构体来组织和操作具有关联性的数据,并展示了如何定义、声明、初始化和引用结构体变量,以及如何通过typedef简化类型定义。这些内容对于理解和掌握C语言的数据结构至关重要。