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

C语言程序设计(第二版)电子教案 第7章 结构体与共用体.PPT

C语言程序设计(第二版)电子教案 第7章 结构体与共用体.PPT

  1. 1、本文档共94页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第七章 结构体与共用体 一个公司员工的信息包括工号、姓名、性别、年龄、工资等 特点:(1)各种信息数据类型不同 (2)属于同一个员工,逻辑上有联系 如何描述这些类型不同的相关数据? struct 结构体名 { 数据类型 成员名1; 数据类型 成员名2; …… 数据类型 成员名n; }; 例如: struct employee { int num; char name[20]; char sex; int age; float salary; }; 说明: 1)结构体类型的定义是程序的语句,因此一定注意右花括号后面的分号不能丢。 2)结构体中的成员可以是不同的数据类型,它们不是变量,因此成员名可以与程序中其他变量同名;不同结构体中的成员也可以同名。 3)定义了一个结构体类型,只是定义了一种和int,float地位一样的数据类型,而不是变量的定义。 定义好一个结构体类型后,可以将其看作是与int、 char和float等数据类型一样的一个新的数据类型, 其中并无具体数据,系统对之也没有分配实际内存单 元。 为了能在程序中使用结构体类型的数据,应当定义结 构体类型的变量,并在其中存放具体的数据。 7.2 结构体类型变量 7.2.1 结构体类型变量的定义 7.2.2 结构体类型变量的引用 7.2.3 结构体类型变量的初始化 7.2.4 结构体类型变量应用举例 2.声明结构体类型的同时定义结构体变量 struct 结构体名 {数据类型 成员名1; 数据类型 成员名2; …… 数据类型 成员名n; }结构体变量名表列; 3.直接定义结构体类型变量 struct {数据类型 成员名1; 数据类型 成员名2; …… 数据类型 成员名n; }结构体变量名表列; 结构体的成员也可以定义成另一个结构体类型的变量 说明: 类型与变量是不同的概念。 应先定义一个结构体类型,而后再定义结构体变量。 系统对类型不分配空间,仅对变量分配空间。 对结构体变量可以进行赋值、存取或运算,对结构体类型不行。 定义了结构体类型的变量,可以对结构体变量进行各 种操作。 对结构体变量进行操作一般是对结构体成员进行操作。 1.结构体变量成员的引用 结构体变量成员的引用形式:结构体变量名.成员名 例如:a1.salary=1500; 给a1变量中的salary成员赋值 为1500 【例7-1】结构体类型变量的引用示例。 #include string.h void main() { struct employee { int num; char name[20]; char sex; int age; float salary;}; struct employee a1; a1.num=10001; strcpy(a1.name, wangyan); a1.sex=F; a1.age=23; a1.salary=1500; printf(%d,%s,%c,%d,%.1f,a1.num,a1.name,a1.sex,a1.age,a1.salary);} 2.结构体嵌套时逐级引用 如果结构体的成员又是结构体类型,这时就需要用若 干成员运算符,一级一级地找到最低一级的成员。只 能对最低的成员进行各种操作。: a1.num a1.birthday.day 变量a1的birthday成员的 day成员 3.同类型结构体变量间的整体赋值 可以将一个结构体变量作为一个整体,赋给另一个类型 相同的结构体变量。 例如:将a1,a2定义成同一结构体类型的变量,若变量 a1的各个成员已经赋值,则可执行如下语句: a2=a1; 4.对结构体变量的成员可以像普通变量一样进行各种运 算。例如:a1.salary= a1.salary+100; a1.age++; 【例7-2】结构体类型变量的初始化应用。 #include stdio void main() { struct employee /*定义结构体类型employee*/ { int num; char name[20]; char sex; int age; float salary; }a1={10001,liming,f,20,1800}; printf(%d,%s,%c,%d,%

您可能关注的文档

文档评论(0)

带头大哥 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档