高中信息技术 信息学奥赛C语言第十三章 结构体与共用体课件.ppt

高中信息技术 信息学奥赛C语言第十三章 结构体与共用体课件.ppt

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
本章重点 13.1 结构体类型 13.2 共用体 13.1 结构体类型 C语言的基本数据类型有整型,实型,字符型等,在实际问题中,把一个对象抽象成数据来表示时,往往需要一组不同基本数据类型的组合。 例如,一辆银灰色的车牌号为湘A00001的雪弗兰轿车以80km/h的速度行驶。 在这里由车牌、车名、型号、车速共同构成了对一辆轿车的描述,在数据处理中,这四个属性应该当作一个整体来处理。但它们不属于同一类型,无法用数组来容纳,而用单个变量来分别代表各个属性,又难以反映出它们的内在联系。 C语言提供结构体(structure)数据结构,将不同数据类型、但相互关联的一组数据,组合成一个有机整体使用。 13.2.1 结构体类型的说明 结构体类型说明的一般形式是: struct 结构体标识名 { 类型名1 结构成员名表1; 类型名2 结构成员名表2; … 类型名n 结构成员名表n; }; 13.1.2 结构体类型的变量的定义 定义结构类型变量由以下四种方法: 1.直接在结构体类型说明之后定义结构体变量。 这种形式说明的一般形式为: struct 结构名 {成员表列 }  变量名表列; 例如: struct student { char name[10]; char sex; int age; float score; } s1, *ps, stu[3]; 2.直接说明结构变量。即在结构变量定义中省去了结构类型名,而直接给出结构变量。一般形式为: struct {成员表列 } 变量名表列; 例如以上结构中把student省略, struct { char name[10]; char sex; int age; float score; } s1, *ps, stu[3]; 3.先定义结构,再说明结构变量。例如: struct student { char name[10]; char sex; int age; float score; }; struct student s1, *ps, stu[3]; 4.使用typedef说明一个结构体类型名,再用新类型名来定义变量。例如:  typedef struct { char name[10]; char sex; int age; float score; } STU;  STU s1,*ps, stu[3];   此处STU是一个具体的结构体类型名,它能够唯一的标识这种结构体类型。因此,可用它来定义变量,不可再写关键字struct。 13.2.3 结构体类型变量的赋值 (1)结构体变量赋初值 和其他类型变量一样,对结构变量可以在定义时进行初始化赋值。 struct Student { int number; char name[31]; short age; char sex; char grade; } boy2, boy1 = {1361, "zhang", 12, 'm', '5'}; (2)结构体数组赋初值 规则和给数组赋值一样,只是结构体数组中的每个元素都是一个结构体变量,所以赋初值的时候,都必须吧每个数组元素的各个成员的值依次放在一对花括号中,以便区分各个元素。 struct Student { char name[31]; short age; char sex; float score; } stu[3]= {{“Jim”,’M’, 20,59},{“Sam”,’W’,21,78},{“Bill”,’M’,22,85}}; 13.2.4 结构体类型的变量的引用 1. 对结构体成员的引用 引用结构变量成员的三种形式是: 结构变量名.成员名 结构体指针变量?成员名 (*结构体指针变量).成员名   对结构体变量中的成员进行操作 结构体变量中的每个成员都属于某个具体的数据类型,因此,要操作结构体中的成员,可以采用操作普通变量的方式来对结构体成员进行输入和输出。 (1)对结构体变量中的整型age成员进行输入输出。 输入:scanf(“%d”,&s1.age); scanf(“%d”,&s[

文档评论(0)

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

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

1亿VIP精品文档

相关文档