版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Chapter9StructuresFangWangOutlines9.1StructureVariables9.2Structurename9.3ArraysandStructures29.1StructureVariablesStructuresareawaytogroupseveralrelatedvariablesintooneplace.Eachvariableinthestructureisknownasamemberofthestructure.Unlikeanarray,astructurecancontainmanydifferentdatatypes(int,float,char,etc.).Thepropertiesofastructurearedifferentfromthoseofanarray.Theelementsofastructure(itsmembers)aren’trequiredtohavethesametype.Themembersofastructurehavenames;toselectaparticularmember,wespecifyitsname,notitsposition.39.1StructureVariablesDeclaringStructureVariablesAstructureisalogicalchoiceforstoringacollectionofrelateddataitems.Adeclarationoftwostructurevariablesthatstoreinformationaboutstudents: structstudent{ intnumber; charname[25]; intage; }49.1StructureVariablesDeclaringStructureVariablesAbstractrepresentationsofastructure:Membervalueswillgointheboxeslater.5agestructstudent{ intnumber; charname[25]; intage; }Mike;structstudent{ intnumber; charname[25]; intage; };structstudent
Mike;struct{ intnumber; charname[25]; intage; }Mike;Structure1.Thestructureisdesignedbyusersthemselves;2.Itiscomposedofseveraldifferentbasicdatatypes;3.ItisadatatypeofC,whichisequivalenttointordoubletypes.69.1StructureVariablesDeclaringStructureVariablesThemembersofastructurearestoredinmemoryintheorderinwhichthey’redeclared.AppearanceofMikeAssumptions:Mikeislocatedataddress2000.Integersoccupyfourbytes.NAMEoccupies25bytes.Therearenogapsbetweenthemembers.7age9.1StructureVariablesInitializingStructureVariablesAstructuredeclarationmayincludeaninitializer: structstudent{ intnumber; charname[25]; intage; }Mike={202201,"MikePatrick",10}, Tom={202202,"TomdaVinci",15};AppearanceofMike
afterinitialization:8age202201MikePatrickage202202TomdaVinci159.1StructureVariablesOperationsonStructures--------name.memberToaccessamemberwithinastructure,wewritethenameofthestructurefirst,thenaperiod,thenthenameofthemember.StatementsthatdisplaythevaluesofMike’smembers: printf("number:
%d\n",
Mike.number); printf("name:
%s\n",
Mike.name); printf(“%d%s%d\n",
Tom.number,Tom.name,Tom.age);
202202TomdaVinci15
99.1StructureVariablesOperationsonStructuresThemembersofastructurearelvalues.Theycanappearontheleftsideofanassignmentorastheoperandinanincrementordecrementexpression:
Tom.number=258;
/*changesTom'snumber*/ Tom.age++;
/*incrementsTom'sage*/109.1StructureVariablesOperationsonStructuresTheperiodusedtoaccessastructurememberisactuallyaCoperator.Ittakesprecedence
overnearlyallotheroperators.Example:
scanf("%d",&Tom.age);
The.operatortakesprecedenceoverthe&operator,so&computestheaddressofTom.age.119.1StructureVariablesOperationsonStructuresTheothermajorstructureoperationisassignment:
Tom=Mike;TheeffectofthisstatementistocopyMike.numberintoTom.number,MintoT,andsoon.129.2StructurenameSupposethataprogramneedstodeclareseveralstructurevariableswithidenticalmembers.Weneedaname(“structuretag”)thatrepresentsastructure.139.2StructurenameDeclaringaStructureTagAstructuretagisanameusedtoidentifyaparticularkindofstructure.Thedeclarationofastructuretagnamedteacher: structteacher{ intnumber; charname[25]; charcourse[50]; };Notethatasemicolonmustfollowtherightbrace.149.2StructurenameDeclaringaStructureTagTheteacher
tagcanbeusedtodeclarevariables:
structteachert1,t2;Wecan’tdropthewordstruct:
teachert1,t2;/***WRONG***/
teacher
isn’tatypename;withoutthewordstruct,itismeaningless.159.2StructurenameDeclaringaStructureTagThedeclarationofastructuretagcanbecombinedwiththedeclarationofstructurevariables: structpart{ intnumber; charname[25]; inton_hand; }part1,part2;169.2StructureTypesDeclaringaStructureTagAllstructuresdeclaredtohavetypestruct
part
arecompatiblewithoneanother:
structpartpart1={528,"Diskdrive",10};
structpartpart2; part2=part1;
/*
legal;
both
parts
have
the
same
type
*/17Classassignment41:StructureCreateastructurecalledmyCountry#include<string.h>18structmyCountry//CreateastructurecalledmyCountry{charname[20];charlanguage[10];charlocation[10];intpopulation_billion;charunique_feature[100];};intmain(){//DeclareastructurevariableofmyCountrycalledChina
structmyCountryChina;strcpy(C,“P.R.China”);//AssignvaluestomembersofChinastrcpy(China.language,“Chinese”);strcpy(China.location,“Asia”);China.population_billion=14;strcpy(China.unique_feature,“Panda”);//Printvaluesprintf("%s\n%s\n%s\n%d\n%s\n",C,China.language,China.location,China.population_billion,China.unique_feature);return0;}9.2StructurenameStructuresasArgumentsandReturnValuesFunctionsmayhavestructuresasargumentsandreturnvalues.Afunctionwithastructureargument: voidprint_part(structpartp) { printf("Partnumber:%d\n",p.number); printf("Partname:%s\n",); printf("Quantityonhand:%d\n",p.on_hand); }Acallofprint_part: print_part(part1);199.2StructurenameStructuresasArgumentsandReturnValuesAfunctionthatreturnsapartstructure: structpartbuild_part(intnumber, constchar*name, inton_hand) { structpartp;
p.number=number; strcpy(,name); p.on_hand=on_hand; returnp; }Acallofbuild_part:
part1=build_part(528,"Diskdrive",10);209.3ArraysandStructuresArraysofStructuresThiskindofarraycanserveasasimpledatabase.Anarrayofpartstructurescapableofstoringinformationabout100parts:
structpartinventory[100];//库存零件100个219.3ArraysandStructuresArraysofStructuresAccessingapartinthearrayisdonebyusingsubscripting:
inventory[i]Accessingamemberwithinapartstructurerequiresacombinationofsubscriptingandmemberselection:
inventory[i].number=883;Accessinga
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 初中英语七年级上册Unit 2语音教学:情境赋能·学用融合的卓越教案
- 新形势下教学模具超市行业顺势崛起战略制定与实施分析报告
- 高中二年级语文《重阳节:传统节日的现代诠释与文化传承》教学设计
- 小学五年级健康教育《“食”光隧道慧选未来-养成健康饮食习惯主题班会教案》
- 初中道德与法治七年级上册“丰富多样的情绪”素养导向教学设计
- 公司治理与法律实务:全资子公司章程设计与关键决策机制(大学本科四年级MBA一年级教学设计)
- 小学数学一年级下册 十几减7、6 知识清单
- 小学六年级英语下册Unit3WheredidyougoPartBReadandwrite教
- 小学体育四年级队列队形:秩序之美与团队协奏教学设计
- 小学道德与法治二年级下册第十课知识清单:不一样的你我他
- 成都树德东马棚小升初入学分班考试数学考试试题及答案
- 2025-2026学年渎粤语教学设计和教案
- 2025年鸡西市虎林市社区工作者公开招聘笔试真题(含完整答案解析)
- 2025年廊坊银行校园招聘笔试考试试题及答案详解
- 山东省公安机关危险化学品信息管理系统企业端操作说明书
- 小学数学教学中几何图形认知与虚拟现实技术结合的课题报告教学研究课题报告
- 2026数字人民币运营管理中心有限公司招聘笔试历年参考题库附带答案详解
- 水工建筑物水下缺陷修复技术导则
- 2026年广东高中学业水平合格性考试生物试卷试题(含答案详解)
- 水质生物毒性在线监测仪(电化学分析方法)编制说明
- 充电场站综合运营方案
评论
0/150
提交评论