- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第7章 结构
第7章 结构体 7.1 概述 7.2 定义结构体变量的方法 7.3 结构体变量的引用 7.4 结构数组 7.5 结构体应用实例 本章小结 7。1 概述 数组中的各元素具有相同的数据类型。 在实际应用时,有时需要将不同类型的数据组合成一个有机的整体,便于进行程序设计。 结构体属于构造类型,其各元素的数据类型既可相同,亦可不同。结构体中的各元素亦称为数据项或域。 7。2 定义结构体变量的方法 所有的自定义类型变量的定义均有三种方法: 先定义类型,后定义变量; 类型和变量同时定义; 直接定义变量 7。2。1 先定义类型,后定义变量; 格式: (1)先定义类型 struct 结构体名 { 类型标识符1:域标识符1;类型标识符2:域标识符2;……类型标识符n:域标识符n; }; (2)在使用结构体变量之前的适当位置,定义变量 struct 结构体名 变量名表 ;注意: 1. 此处struct不能省,只有 “结构体名 变量名表;”是错误的。 2. 紧接在定义的右花括号后的分号是不能省略的,因为一个结构体定义就是一条语句。 例7-1 main ( ) { struct date { int year, month, day;} ;/* 右括号后不能缺少分号*/ struct date today; scanf ( %d %d %d , today.year, today.month, today.day ); printf ( %d 年%d月%d日 \n , today.year, today.month, today.day ); } 7。2。2 类型和变量同时定义 格式: struct 结构体名 { 类型标识符1:域标识符1;类型标识符2:域标识符2;……类型标识符n:域标识符n; }变量名表; 例如,可以用下面的方法定义一个日期变量 workday。 struct date { int year, month, day; } workday; 7。2。3 直接定义变量 格式: struct { 类型标识符1:域标识符1;类型标识符2:域标识符2;… 类型标识符n:域标识符n; }变量名表; 说明: 直接定义变量只适合于该结构体类型只出现一次。 7。3 结构体变量的引用 7。3。1 结构体变量的引用 结构体变量名.域名 例7-2:定义一个结构体变量t,从键盘上输入3 个域的值,并在屏幕上输出。 main( ) { static struct{ int m, d, y;}t;scanf(%d, %d, %d, t.m, t.d, t.y );printf(%d, %d, %d \n, t.m, t.d, t.y ); } 7。3。2 结构体变量的初始化 可以在定义结构体变量的同时,对结构体变量进行初始化。例如: struct xyz { int a;char c; }d1={1, a}; struct date d2={2, b}; 例7-3: main( ) { int i; static struct { char no[ 9 ] ; /* 学号 */ char kc[16 ] ; /* 课程 */ int cj ; /* 成绩 */ } cjb1 ={, ENGLISH, 85}; printf (\n学号 :%s\n, cjb1.no); printf ( 课程 : %s\n , cjb1.kc); printf ( 成绩 : %d\n , cjb1.cj); } 7。3。3 同类型结构体变量间的赋值 格式是: 结构体变量1 = 结构体变量2 ; 例7-4:定义两个同属于类型struct date 的变量 d1和d2,先对变量d1赋值,再将d1赋给变量d2。 struct date { int mm , dd , yy ; }; main( ) { struct date d1, d2; d1.mm=9; d1.dd=1; d1.yy=2004; d2=d1; printf (%d-%d-%d \n, d2.mm, d2.dd, d2.yy ); } 7。4 结构数组 在实际应用中,可以把结构体定义为数组,数组的元素类型是结构体类型。 例如: typedef struct student { char no [ 10 ] ;char name [ 8 ] ;char sex [ 2 ] ;struct date birthday;int score ; } STUD; STUD
原创力文档


文档评论(0)