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

第9章讲义结构与共用体.doc

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

教学目的: 介绍结构体、共用体的使用,掌握利用结构体、共用体编程。 学习要求: 1. 熟练掌握结构体类型的定义 2. 熟练掌握结构体变量的定义和使用 3. 掌握结构体数组 主要外语词汇: Structure、Union 第9章 结构体与共用体 9.1 结构体的说明和定义 一、定义结构体类型: struct [结构体名] { 类型名1 成员名1; …… 类型名n 成员名n; }; 1、一个结构体类型有其专用的标志,它由两个单词组成:第一个单词为关键字struct,第二个单词由用户指定,这二者联合起来组成一个类型名。 2、系统没有预先定义结构体类型,用户需在程序中自己定义。 3、定义一个结构体类型只是表示这个类型的结构,这只是定义类型而不是定义变量,系统对之也不分配实际内存单元,它只反映了一种数据属性。 “struct [结构体标识名]”的作用相当于“int”的作用。 4、定义结构体类型时允许嵌套(最多15层)。 5、结构体类型的定义有局部和全局之分。 二、定义结构体类型的变量: 1、先声明结构体类型再定义变量名: 例:struct student { int num; char name[20]; char sex; int age; float score; char addr[30]; }; struct student student1,student2; 2、在声明结构体类型的同时定义变量: 例:struct student { int num; char name[20]; char sex; int age; float score; char addr[30]; }student1,student2; 3、直接定义结构体类型变量: 例:struct { int num; char name[20]; char sex; int age; float score; char addr[30]; }student1,student2; 4、在编译时,系统对结构体变量分配实际内存单元。 5、结构体成员变量也可以是一个结构体变量。 6、结构体成员名可以与程序中的其它变量名相同。 例:struct student { int num; char name[20]; char sex; int age; float score; char addr[30]; }student1,student2; int num,age; 9.2 结构体成员的引用与结构体变量的初始化 一、结构体变量的引用: 1、引用结构体变量中的一个成员:结构体变量名.成员名 .称为成员运算符,优先级最高。 2、区分:(1)student1.num:结构体变量student1中的num成员。 (2)num:简单变量num。 3、内嵌结构体成员的引用:必须逐层使用成员名定位。 例:student1.birthday.month 4、对结构体变量中的每个成员,都可以象普通变量一样,对它进行同类变量所允许的任何操作。 二、结构体变量的初始化: 1、所赋初值按顺序放在一对花括号中。 2、不允许跳过前面的成员给后面的成员赋初值。 例如: struct student { char name[20]; char sex; float sc[4]; }stud={“Li Ming”,‘M’,88,76,85.5,90}; 3、在程序执行时利用赋值语句赋值: 例:struct student { char name[20]; char sex; float sc[4]; }std; strcpy(std.name,“Li Ming”); std.sex=‘M’; std.sc[0]=66; std.sc[1]=77; std.sc[2]=88; std.sc[3]=99; 4、如果一个结构体类型内又嵌套了另一个结构体类型时,则初始化时仍然是对各个基本类型的成员赋初值。 5、两个相同类型的结构体变量之间可以互相整体赋值。但数组之间不允许整体赋值。 例:#include stdio.h void main( ) { struct student { char name[20]; char sex; float sc[4]; }std1={“Li Ming”,‘M’,88,76,85.5,90},std2; std2=std1; 正确 … } 例1: 9.3 结构体数组 结构体数组:数组中每一个元素都是一个结构体变量,数组各

文档评论(0)

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

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

1亿VIP精品文档

相关文档