第10章-结构体.ppt

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十章 本章要点 掌握结构类型数据的定义方法和引用方法; 了解共用体和枚举类型数据的定义方法和引用方法。 10.1 结构体类型 如果将这些属性分别定义为互相独立的简单变量,则难以反映相互间的内在联系(同一个学生的属性) 可采用结构体数据结构描述上述信息,将不同类型的数据组合成一个有机的整体,这些数据是相互联系的。 10.1.1 结构体类型的定义 例: struct student { int num; char name[20]; char sex; int age; char addr[30]; }; 定义一个结构体类型的一般形式为: 10.1.2 结构体变量的定义 方法一:先定义结构体类型再定义变量名 可用符号常量代表一个结构体类型,如: #define STUDENT struct student STUDENT {int num; char name[20]; char sex; int age; char addr[30]; }; 方法二:在定义类型的同时定义变量,如: struct student {int num; char name[20]; char sex; int age; char addr[30]; }student1, student2; 方法三:直接定义结构类型变量。 其一般形式是: struct { 成员表列 } 变量名表列; 几点说明: 1. 类型与变量是不同概念,不要混淆; 2. 结构体中的成员,可以单独使用,其作用与地位相当于普通变量; 3. 成员也可以是一个结构体变量;例如: 10.1.3 结构体变量的引用 规则: 1. 不能将一个结构体变量作为一个整体进行赋值和输出;只能对其各个成员分别输出(引用形式为:结构体变量名.成员名)。 printf(………,student1); printf( %d, student1.num); 输出 10010 (接上片) 3. 对成员变量可以象普通变量一样进行各种运算,如: sumage=student1.age+student2.age; 4. 可以引用成员的地址,也可以引用结构体变量的地址,如 scanf(%d,student1.num); printf(%o, student1); scanf(%d,%s,%c,%d,%s,student1); 10.1.4 结构体变量的初始化 struct student { long int num; char name[20]; char sex; char addr[20]; } a={9801, Wang hong,’W’, 2 Linggong Road}; main( ) {printf(No.:%ld\nname:%s\nsex:%c\naddress:\%s\n,a.num,a.name,a.sex,a.addr); } 10.2 结构体数组 例: struct student { int xh; char xm[14] ; char xb; float sx; }s[96] ; 结构体数组是一个数组,数组中的每一个元素都是结构类型。 说明结构数组的方法:先定义一个结构,再用结构类型说明一个数组变量。 例如: struct student {int num; char name[20]; char sex; int age; char addr[30]; }; struct student stu[3] ; strcpy ( man[3].name, Fangjin ); man[3].sex = M; man[3].birthday.year = 1963; man[3].birthday.month = 9; man[3].birthday.day = 13; 结构数组存放在连续的内存区域中,所占内存大小为结构类型的大小乘以数组元素的数量。 struct person man[100]: 37*100 = 3700字节 10.2.3 结构体数组的初始化 (只能对全局的或静态存储类别的数组初始化) struct student {int num; char name[20]; char sex; int age; char addr[30]; } stu[3]={{111, Li, M,18, Dalian},{…},{…}}; 10.3 结构体指针变量 结构体变量的指针:是该结构体变

文档评论(0)

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

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

1亿VIP精品文档

相关文档