C语言结构体应用:构建手机通讯录

需积分: 0 0 下载量 185 浏览量 更新于2024-07-29 收藏 222KB PPT 举报
"第九章 关于结构的讲解,包括构建手机通讯录、结构变量、结构数组和结构指针的介绍" 在编程中,结构(Structure)是一种复合数据类型,它允许我们将不同类型的数据组合在一起,形成一个新的数据实体。结构与数组的主要区别在于,数组是一组相同类型的数据集合,而结构则可以包含不同类型的成员。本章主要探讨了结构在C语言中的应用,特别是如何利用结构来构建手机通讯录。 9.1 构建手机通讯录 在构建手机通讯录的例子中,我们定义了一个名为`struct friends_list`的结构,它包含了联系人的姓名、年龄和电话号码。为了存储多个联系人信息,我们使用了结构数组`friends_list friends[50]`,这可以容纳50个结构变量,每个变量代表一个联系人的信息。此外,程序还包含了新建联系人(`new_friend`)和查询联系人(`search_friend`)的功能,这些函数通过结构数组作为参数来操作通讯录。 9.2 结构变量与结构成员变量 结构变量是包含一组相关数据的变量,例如`struct friends_list`。结构成员变量则是结构内部定义的各个数据项,如`name`、`age`和`telephone`。访问结构成员变量通常使用点运算符`.`,例如`friends[i].name`用于访问第i个联系人的姓名。 9.3 结构数组 结构数组是由多个结构变量组成的数组,如`friends_list friends[50]`。通过索引,我们可以访问和操作数组中的每个结构变量,从而处理多个联系人的信息。 9.4 结构指针 结构指针是指向结构变量的指针,它允许我们间接地访问和修改结构中的成员。使用结构指针可以提高代码的效率和灵活性。结构指针的定义方式为`struct friends_list *ptr`,通过解引用运算符`*`可以访问结构成员,如`(*ptr).name`。结构指针也可以作为函数参数,这样函数就可以直接操作传入的结构对象,而无需复制整个结构。 在函数`new_friend`和`search_friend`中,结构数组的名字作为参数传递,实际上传递的是数组的第一个元素的地址,即首地址,这是一种常见的参数传递方式,被称为“传址”或“传引用”。 总结本章,我们学习了结构的基本概念,包括结构的定义、结构变量的使用、结构数组的声明和操作,以及结构指针在访问和修改结构成员以及作为函数参数时的作用。理解并熟练运用这些知识点对于编写复杂的程序至关重要,特别是在需要组织和管理大量相关数据时。