- 1、本文档共88页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
三、C51构造数据类型 (3)直接定义结构类型变量。 其一般形式为: struct { 结构成员说明 }变量名1,变量名2…变量名n; 例如 struct { char hour; char min; char sec; int days; }time_of_day1, time_of_day2; 3、结构 三、C51构造数据类型 3. 结构变量的引用 就结构而言,可操作的对象是结构类型变量,而不是结构类型。也就是说,当对结构进行引用时,只能对结构类型变量进行赋值、存取和运算,而不能对结构类型作这些操作。这是因为在编译时,C编译器不对抽象的结构类型分配内存空间,只对具体的结构类型变量分配内存空间。 结构不能作为一个整体参加赋值、存取和运算,也不能整体地作为函数的参数,或函数的返回值。对结构所执行的操作,只能用运算符取结构的地址,或对结构变量的成员分别加以引用。 结构体成员引用的一般形式为: 结构变量名.成员名; 例 time_of_day1.hour = 12; “.”是成员运算符。它在所有的运算符中优先级最高。上面的赋值语句作用是将12赋给struct time_str类型的结构变量time_of_day1的成员hour。 如果结构类型变量的成员本身又属于一个结构类型变量,则要用若干个成员运算符“.”一级一级地找到最低一级的成员,只有最低一级的成员才能参加赋值、存取和运算。“->”和“.”等同。 结构类型变量的成员可以像普通变量一样进行各种运算。 3、结构 三、C51构造数据类型 4. 结构数组 在讲到struct time_str结构类型时,虽然只定义了两个具有该类型的结构变量time_of_day1、time_of_day2,但在使用时已经感到了引用它们的麻烦。因为尽管这两个变量结构相同,具有同样的成员项,但当使用printf()语句打印它们时,必须分别使用两个printf ( )语句。试想,假如有若干个这样的结构变量,要将它们的内容全部打印出来,将是多么麻烦。要解决这个问题,可以将具有同样结构类型的若干个结构变量定义成结构数组。这样就可以使用循环语句对它们进行引用,从而大大提高效率。 结构数组的每个元素都是具有相同结构类型的结构变量,它们都含有相同的成员项。结构数组的定义与结构变量的定义方法相似,只需将结构变量改成结构数组即可 3、结构 三、C51构造数据类型 5. 指向结构的指针 一个指向结构类型数据的指针,就是该数据在内存中的首地址。定义的一般形式为: struct 结构类型名 { 结构成员说明 }*指针变量名; 或 struct 结构类型名 *指针变量名; 3、结构 三、C51构造数据类型 【例5-11】用指向结构变量的指针变量实现信息的传送。 程序清单如下: # define uint unsigned int #define uchar unsigned char struct msg1 { uint lnk; uchar len,flg,nod,sdt,cmd,stuff; }; struct msg1 *msg; /*定义指向结构msg1的指针变量*/ void rqsendmessage (struct msg1 *m); /*“传递信息”函数*/ main ( ) { uchar stuff = 0; msg - len = 8; //msg赋值 msg - flg = 0; msg - nod =0; msg - sdt = 0x12; msg - cmd = 0; msg - stuff = stuff; rqsendmessage(msg); //发送信息 } 3、结构 三、C51构造数据类型 【例5-12】用指向结构数组的指针变量实现多条信息的传送。 程序清单如下: # define uint unsigned int #define uchar unsigned char struct { uint lnk; uchar len,flg,nod,sdt,cmd,stuff; } msg1[4]; /*定义结构数组*/ void rqsendmessage (struct msg1 *m); /*“传递信息”函数*/ main ( ) { uchar stuff = 0; struct msg1 *p;
您可能关注的文档
- “爱琴海”杯晋城首届单身职工相亲联谊会活动方案.doc
- 夏季超有效 减肥食谱七天瘦10斤.pdf
- 让香菜保持久一些的小窍门.pdf
- 健康瘦身 美女必吃的10种减肥食物.pdf
- 最快减肥秘籍-郑多燕减肥.pdf
- 自制美味的沙琪玛.pdf
- 姚晨被求婚流泪答应 钟爱黑发的大嘴女星.pdf
- Excel在成本核算中的应用.ppt
- 盘点伦敦奥运闭幕式上的女神妆.pdf
- 单片机原理与C51语言程序设计14.ppt
- 剧本杀行业报告:内容创作规范与剧本市场拓展策略.docx
- 剧本杀行业区域市场区域文化特色与市场潜力分析报告.docx
- 剧本杀行业区域市场拓展实战案例研究.docx
- 剧本杀行业区域市场拓展路径与模式探索报告.docx
- 剧本杀行业区域市场竞争态势与品牌差异化策略研究报告.docx
- 剧本杀行业2025年西北区域市场市场细分领域竞争态势与品牌竞争策略分析研究报告.docx
- 剧本杀行业2025年西北市场拓展前景预测报告.docx
- 剧本杀行业2025年长沙市场发展潜力分析报告.docx
- 剧本杀行业2025年长三角市场竞争策略与布局分析.docx
- 医疗行业数据合规:2025年数据安全法实施后的合规监管挑战与应对.docx
最近下载
- 电气安全评估报告模板.docx VIP
- 2025学年人教版英语七年级下册单词默写表.docx VIP
- TB 10754-2018 高速铁路轨道工程施工质量验收标准 含2023修改单(2-2).pdf
- 《网络工程师》模拟考试题.doc VIP
- 脑梗塞中医辨证课件.pptx
- 解码国家安全智慧树知到期末考试答案章节答案2024年国际关系学院.docx VIP
- YB∕T 5305-2020 线缆套管用焊接钢管(可复制版).pdf
- 应用指南《GB_T23443-2024建筑装饰用铝单板》应用指南.pptx VIP
- CQC3703-2022 绿色能源消费评价技术规范-活动.pdf VIP
- 1.4 全面推进依法治国的六项重大任务(政策与法律法规 第五版).pptx VIP
文档评论(0)