网站大量收购闲置独家精品文档,联系QQ:2885784924

第18章结构体.ppt

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第18章结构体

结构体数组示例 范例18-5演示了如何使用结构体数组来处理人物信息,并输出最年轻男性的人物信息。 【范例18-5】输出最年轻男性的信息 。 结构体指针 结构体指针是使用结构体进行编程的重要内容。声明一个结构体指针变量,再将该变量初始化为一个存储结构体数据的内存空间的首地址后,便可以使用这个指针来访问结构体了。 定义一个指向结构体变量的指针与定义一个指向其他类型变量的指针方法基本一样,形式如下: typedef struct { int a; char b; double c; } my_struct; my_struct * p; 1.【考题】已知: struct st { int n; struct st *next; }; struct st a[3]={1, a[1], 3, a[2], 5, a[0]}, *p; 如果下述语句的显示是2,则对p的赋值是( )。 printf(%d\n,++(p-next-n)); 【解析】该程序中输出的是表达式++(p-next-n)的值,因此表达式p-next-n的值应为1,才能保证最终输出显示2。当p的值为a[2]时,其p-next指向的是a[0]这个元素,而该元素值为1。因此,p的赋值应该为a[2]。 1-* 融智技术学院 第18章 结 构 体 杨章伟 e-mail:yang505412@163.com 课程内容安排 结构体 结构体的应用 结构体数组 结构体指针 小结 习题 结构体 结构体(struct)在C语言中用于处理多个单一数据组成的数据集合。在复杂的数据处理中,结构体是必不可少的。结构体的使用是C语言编程的一个重要部分。 结构体是指包含多个单一数据的数据集合。在一些应用中,需要处理的数据往往是若干个单一数据的集合。例如,一个完整的个人信息往往需要包含姓名、年龄、性别、职业、地址、电话等信息。如果使用之前学习的简单数据类型来表示时间信息,就至少需要使用6个变量来实现,每次使用的时候都要访问至少6个变量,这是一个相当繁琐的过程。 C语言中提供了结构体数据类型作为一个集合来处理这种复杂数据,一个结构体可以将多个单一信息结合在一起作为一个整体来使用。 声明结构体类型 使用结构体时,首先要声明需要的结构体类型,其一般形式如下: struct 结构体名 { 数据类型1 结构体成员1; 数据类型2 结构体成员2; 数据类型3 结构体成员3; … }; /* 分号不可缺少 */ 结构体名相当于这个结构体的标记,它与标识符struct共同组成这个结构体的名称。每一个结构体可以包含很多成员,每一个成员都有一个数据类型,这些成员可以被声明为除该结构体类型本身外的任意有效数据类型。 定义结构体变量 声明了结构体类型后,便可以使用该类型来定义结构体变量。C语言中定义结构体变量有三种形式,其实这也是声明结构体类型的三种形式: 1.声明结构体类型,并定义结构体变量 2.不声明结构体类型,直接定义结构体变量 3.使用typedef得到简化的结构体类型名,再定义结构体变量 访问结构体成员 结构体变量的使用与之前学习过的一般变量的使用略有不同。定义一个结构体变量后,不能直接对结构体变量进行操作,要访问结构体变量,必须通过访问其成员来实现。 使用成员操作符(.)可以访问结构体成员。成员操作符是一个二元操作符,前面的操作符为结构体变量,后面的操作符为结构体成员名。其标准形式如下: 结构体名.结构体成员名; 【范例18-2】结构体的使用 结构体数组 与定义结构体变量的方式类似的,定义结构体数组的方法也有三种 : 1.声明结构体类型,并定义结构体数组 2.不声明结构体类型,直接定义结构体数组 3.使用typedef 小结 结构体是C语言中最常用的高级数据类型,其应用十分广泛。读者必须要熟练掌握其使用方法的一些特性。本章先介绍了结构体的概念和定义方法,然后学习了如何访问结构体成员,最后讨论了结构体数组和结构体指针的使用方法。在本章的学习中,需要注意以下几点: 结构体的名称较长,可以使用typedef来得到简化的别名。 结构体可以有效地将有关系的数据关联在一起。 为了程序的安全性,对含有指针型成员的结构体空间赋值时,应该采用深复制的方式来实现。 最好不要使用对于含有指针性成员的结构体变量作为函数形参或返回值。 常见面试题 2.【考题】写出下面两个结构体的长度。 struct name1{ char str; short x; int num; } struct name2{ char str; int num; short x; } 常见面试题 1.使用结构体将复数作为一个整体,实现复数的加

文档评论(0)

xy88118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档