- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
常州信息学院C语言课程组 第8、10章《 结构体、文件》选讲 本章要点: 结构体类型的定义 结构体类型变量的定义、引用及初始化。 结构体数组。 结构体指针变量。 文件的概念 文件类型指针、打开与关闭 案例:由程序提示输入学生信息,统计出学生的平均成绩并输出。学生成绩表数据项如下: 结构体是一种构造类型(自定义类型),除了结构体变量需要定义后才能使用外,结构体的类型本身也需要定义。结构体由若干“成员”组成。每个成员可以是一个基本的数据类型,也可以是一个已经定义的构造类型。 结构体类型定义的一般形式 3、使用结构体类型时,struct 结构体名作为一个整体,表示名字为“结构体名”的结构体类型。 4、结构体类型的成员可以是基本数据类型,也可以是其它的已经定义的结构体类型-结构体嵌套。 注:结构体成员的类型不能是正在定义的结构体类型,但可以是正在定义的结构体类型的指针。 定义结构体类型举例 例如:定义关于学生信息的结构体类型。 struct student { int no; char name[20]; char sex[3]; int age; char pno[19]; char addr[40]; char tel[10]; }; 前例中的学生信息(记录)可定义为结构体如下: struct student /*定义学生结构体类型*/ { int num; /*学号*/ char name[8]; /*姓名*/ char sex[3]; /*性别*/ int math; /*数学*/ int eng; /*英语*/ int aver; /*平均*/ int count; /*总成绩*/ }; 说 明 ⒈ struct student 是结构体类型名,struct是关键词,在定义和使用时均不能省略。 ⒉ 该结构体类型由7个成员组成,分别属于不同的数据类型,分号“;”不能省略。成员含义同前。 ⒊ 在定义了结构体类型后,可以定义结构体变量(int整型类型,可以定义整型变量)。 C语言允许以下三种说明形式: 1、先定义结构体类型,然后说明结构体变量 struct student{……}; struct student 结构体变量名; 例如: struct student {char name[10]; char sex[3]; int old; char addr[100]; }; struct student stud1,stud2,stud3; 8.2.2 结构体变量的引用及初始化 1、结构体变量引用的形式为: 结构体变量名· 成员名 其中:“.” 运算符是成员运算符。 例如: student1.num=11301; scanf(“%s”,student1.name); if(strstr(student1.addr, shanxi)!=NULL) student1.age++; 2、结构体变量的初始化 结构体变量可以在定义时初始化,变量后面的一组数据应该用“{ }”括起来,其顺序也应该与结构体中的成员顺序保持一致。 struct student {int numb; char name[10]; char sex[3]; int english; int math; } stud1={1001,Lijun,f,78,87},std2; 3、成员本身又是结构体类型时的子成员的访问---使用成员运算符逐级访问 student1.birthday.year student1.birthday.month student1.birthday.day 4、同一种类型的结构体变量之间可以直接赋值(整体赋值,自动对成员逐个依次赋值)。见下例: struct student {int numb; char name[10]; char sex[3]; int english; int math; } stud1={1001, Lijun, f, 78, 87},std2; stud2=stud1; 结果为: stud2 ={1001, Lijun, f, 78, 87} 5、不允许将一个结构体变量整体输入/输出 例如: scanf(“%...”, student1);
您可能关注的文档
最近下载
- 被子植物分类系统简介.ppt VIP
- 储能系统并网发电启动试运行方案.pdf VIP
- 风电项目施工工艺及流程介绍.pptx VIP
- 人教版(2024新版)七年级上册英语Starter Unit 2 Keep Tidy!教案.docx VIP
- 预应力高强混凝土管桩(PHC)施工方案.doc VIP
- 《感受生活中的法律》PPT课件-六年级道德与法治上册.pptx VIP
- 燃煤供货及售后服务方案.docx VIP
- (高清版)DB41∕T 2585-2024 大口黑鲈四种病毒性疾病防控技术规范.pdf VIP
- 第一次全国水利普查名录内河流湖泊代码、名录外河流湖泊代码.pdf VIP
- 南昌市麦园垃圾填埋场渗滤液深度处理站升级改造项目环境影响报告表.docx VIP
文档评论(0)