- 1、本文档共76页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言程序的设计11
第十章 结构体和共同体 定义和变量说明 引用和初始化 结构数组 结构指针 指针处理链表 共用体 枚举类型 用 typedef 定义类型 struct 结构名 结构变量名; 注意: 结构变量说明必须在结构类型定义之后 例 struct student stul, stu2; 3、 直接定义结构体类型变量 struct { 成员表列 }; 变量名; 说明 成员也可是一个结构体。 成员名可同于程序中的变量名,互不干扰。 结构体变量占内存大小可用 sizeof 运算求出。 结构体类型说明仅列出该结构的组成情况。 11。3 结构体的引用和初始化 引用形式:用圆点(成员运算符) ——优先级最高 结构变量名.成员名 例: stu1.num 对外部结构体变量进行初始化 例 struct date { int year, month, day } ; struct student { long int num; char name[20]; char sex; struct date birthday; } stu1={89031, “Li Lin”, ‘M’, 1980, 8, 18} main( ) { printf(“No:%ld\nName:%s\nSex:%c\n Birthday:\%d%d%d\n”, stu1.num, , stu1, sex, stu1 . birthday . year, stu1. birthday . month, stu1 . birthday . day); } 11.5 结构数组 概念 数组的每一个元素都是一个结构体类型的数据,分别包括结构体的各个成分 2、同时进行结构体类型和结构体数组的定义 struct student { long int num; char name[20]; char sex; int age; float score; char addr[30]; } stu[3]; 例11.2 (p266)候选人得票统计程序。(三个候选人) 分析: 数据结构:定义结构体数组变量,含侯选人名,得票数。 数组有3个元素 算法要点:采用strcmp()函数, 将输入的人名与定义初始化的结构体数组中的每一元素中候选人名比较,若相同则加1。 例11.2 (p266) struct person { char name[20]; int count; } leader[3]={Li,0,Zhang,0,Fun,0}; 概念 存放结构体变量的首地址。 结构指针的运算也按照C语言的地址运算原则进行。 例10.3 (二) stu_1.num=89101; strcpy(stu_1.name, “Li Lin”); stu_1.sex=M; stu_1.score=89.5; printf(“No:%ld\nName:%s\n Sex:%c\nScore:%7.2f\n\n”, stu_1.num,stu_1.name, stu_1.sex,stu_1.score); printf(“No:%ld\nname:%s\nsex:%c\n score:%7.2f\n\n”, p-num, p-name, p-sex, p-score); } 11.6.2指向结构体数组的指针
文档评论(0)