- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言程序设计教程CJ_07结构体类型概述_潭浩强第3版
《程序设计》-2005秋 辽宁师范大学 计算机与信息技术学院 蔡静 目录 第十一章 用户定制数据类型 11.1 结构体类型基础及位段 11.2 结构体数组 11.3 指向结构体的指针 11.4 链表 11.5 结构体与函数 11.6 共用体类型数据 11.7 枚举类型数据 11.8 用 typedef 定义类型 数据类型概述 11.1 结构体类型概述 定制结构体类型: 11.2 结构体类型变量的定义和引用1. 结构体变量的定义 方1:定义结构体类型后,再定义变量为此类型。 struct 结构体名 { 成员表列; }; struct 结构体名 结构体变量名; 如: struct student st1,st2; 或在程序开头用符号变量 #define STUD struct student STUD st1,st2; 方2:定义某结构体类型的同时,定义变量为此类型。 struct 结构体名 { 成员表列; }结构体变量名; 方3:直接定义变量为某结构体类型. struct { 成员表列; }结构体变量名; 说明: 结构体类型 与 结构体变量 不等价; 成员名可以与程序中的变量名相同,互不干扰. 2. 结构体变量的初始化 例: 外部变量 ...... struct date d1 = {4,23,00}; ...... main() { ...... } 3. 结构体变量的引用(1).单个成员引用 结构体变量名.成员名 s1.name date1.year 对于嵌套定义的,用多个成员运算符,一级一级找到最低一级的成员。 s1.birth.month 对成员变量可以象普通变量一样进行各种运算。 s1.birth.year = 1978; s3.num = s1.num + 2; (2).整体引用 可以将一个结构体变量作为一个整体赋给另一个同类型的变量,但不允许把一组常量赋给一个结构体变量(虽然定义时赋初值可以)。 例: d1 = d2; Y d1 = {7,21,1978}; N 例CJ_Struct_01.C: 例CJ_Struct_02.C: 4. 结构体的输入输出 针对单个成员进行I/O,不能整体I/O 例CJ_Struct_02.C: scanf(%ld %s , s1.num, s1.name); Y printf(%ld,%s,s1.num,s1.name); Y scanf(%ld,%s,s1); N printf(%ld,%s, s1); N 11.5 结构体数组11.5.1 结构体数组的定义 方1:定义结构体类型后,再定义数组为此类型。 Struct 结构体名 { 成员表列; }; struct 结构体名 结构体数组名; 如: struct student st1,st[50]; 或在程序开头用符号变量 #define STUD struct student STUD st1,st[50]; 结构体数组的定义(续) 11.5.2 结构体数组的初始化 11.5.3 对结构体数组元素的操作及应用 引用某一元素的某成员,则数组名[i].成员 某元素可赋值给同一结构体类型的数组中另一元素,或同类型的变量 不能把结构体数组元素作为一个整体直接进行输入输出。 例CJ_Struct_array_01.C:计算全班每个学生的三门课的平均成绩,并显示学号、姓名和平均成绩. 例CJ_Struct_array_02.C:输入N个学生的信息并输出。 11.6 指向结构体的指针11.6.1 指向结构体变量的指针 指针变量的值为结构体变量的起始地址。 说明: 结构体变量.成员名 (*结构体指针).成员名 结构体指针-成员名 三者等价 -优先于++。 p-num++ 即 (p-num)++ ++p-num 即 ++(p-num) 例CJ_Struct_Point_01.C: 11.6.2 指向结构体数组的指针 指针变量的值为结构体数组的首地址,以元素(结构体)
您可能关注的文档
最近下载
- 2024版房屋抵押贷款合同范本.docx VIP
- 基于反作用飞轮和磁力矩器的卫星姿态控制系统分析-analysis of satellite attitude control system based on reaction flywheel and magnetic torque device.docx VIP
- 地贫筛查中的血红蛋白电泳.pptx VIP
- 光电开关HPX-AG系列使用说明书.PDF VIP
- 精神科患者风险的管理.pptx VIP
- 保护女职工权益知识竞赛题库50题(答案).docx VIP
- 盖板涵施工监理细则.pdf VIP
- 迅达3300调试汇总.doc VIP
- (高清版)B-T 19843-2022 工业通风机 射流风机性能试验.pdf VIP
- 冰美人淘宝直播数据复盘.xlsx VIP
文档评论(0)