版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Lecture13
Structures&UnionsCProgrammingLanguageOutlineBasicsofStructureArrayofStructureStructuresandFunctionstypedefUnionTypesandVariablesMemoryAllocationofUnionVariablesBasicsofStructureStructureisacompounddatatype,itcancontainsmemberswithdifferenttypes.Youmustdeclareastructuretypefirst,thenusethistypetodefineastructurevariable,andthenyouareabletousethevariable.DeclarationofStructureSyntaxstructName { DeclarationofMembers };Example
structstudent_info { charid[10];charname[20];charsex;intage;floatscores[8];};Examplestructtime{inttm_sec;/*secondsaftertheminute(0,59)*/inttm_min;/*minutesafterthehour(0,59)*/inttm_hour;/*hourssincemidnight(0,23)*/inttm_mday;/*dayofthemonth(1,31)*/inttm_mon;/*monthssinceJanuary(0,11)*/inttm_year;/*yearssince1900*/inttm_wday;/*dayssinceSunday(0,6)*/inttm_yday;/*dayssinceJanuary1(0,365)*/};StructureVariableThreewaystodefineastructurevariable1)Declarethetypefirst,usethetypetodefinethevariablesSyntax:structType_NameVariable_Name;
structstudent_infostu1;
structstudent_infostu2,stu3;StructureVariable2)Combinethedeclarationanddefinitionstructstudent_info{charid[10];charname[20];intscore;}stu1,stu2,stu3;StructureVariable3)AnonymousDeclarationstruct{charid[10];charname[20];intscore;
}stu1,stu2,stu3;StructureVariableThesizeofmemoryunitsthatoccupiedbyastructurevariableisthesummationofmemoriesthatoccupiedbyallofitsmembers.Pleasenotesomecompilerswillallocatemoreunitsofmemoryforastructurevariablethanitneededforthepurposetogetabetterprocessperformance.StructureVariableTogettheactualmemorysizethatastructurevariableuses,youcanuseoperatorsizeof.Suchassizeof(strucutstudent)or
sizeofstu1DeclarationofStructureMemberofastructurecanalsobeastructuretype.Example
structdate_type {intyear; intmonth;intday;}; structstudent_info {charid[10];charname[20];
structdate_typebirthday;};InitiationAssignthevaluetoeachmemberrespectively.Suchas:structstudent_infostu1={“1234567890”,
“Tom”,‘M’,{1988,8,8}};structstudent_infostu2={“1234567890”,
“Tom”,‘M’,1988,8,8};OperationsThestructurevariablescandooperationsasawholeonfollowing:Assignmentoperationmustbeonsametypestructuresvariables.Thevalueofeachmemberwillbeassignedrespectively.Useastheargumenttopassthevalue,oruseasthereturnvalue.OperationsThestructurevariablescanNOTdooperationsasawholeonfollowing:InputandoutputArithmeticandcomparisonButmembersofstructurevariablecandoaboveoperationsjustasindividualvariables..Operator.operatorisusedtoreferthememberofstructurevariables.Syntax:variable.memberstu1.idstu3.birthday.yearExample1,2,3ArrayofStructureElementsofanarrayarestructuretype.Declarethestructure,definethearray,usetheindextorefertheelementofarrayandusethe.operatortoreferthememberofstructure.Example4StructuresandFunctionsStructurevariablesasawhole,oreachmembersofthestructurevariablescanworkastheargumentorreturnvalueofthefunctions.Example5,6typedeftypedefkeywordisusedtodefineanewtypebasedonacurrenttype.Syntax:
typedeftypeNew_Type;typedefintINTEGER;typedefstructstuSTUDENT;typedefstructstu{…}STUDENT;typedefThenewtypenamedefinedbytypedefareequivalenttotheoldone.Thenewoneandtheoldonecanbeusedalternatively.typedefstructstudent_infoSTUDENT;STUDENTstu1,stu2;structstudent_infostu3;UnionsUnionisaspecialdatatype.Itcontainsmembers,andallmemberssharethesameamountofmemory.Theuseofunionissimilarwithstructure,declarefirst,anddefinethevariablelater.UnionDeclarationsunionName
{DeclarationofMembers;
};
uniondemo{floatf_value;inti_value;doubled_value;};UnionDefinitionsuniondemounion1;uniondemo{floatf_value;inti_value;doubled_value;}union2;UnionInitializationsToinitializeaninstanceofaunionwhiledefiningit,youcaninitializeitonlywithaconstantofthesametypeasthefirstvariableintheunion.UnionInitializationsuniondemo{floatf_value;inti_value;doubled_value;}union1={3.14f};oruniondemounion2=3.14f;
UnionOperationsSimilarwithstructuresunion1.f_value=2.5;union2.i_value++;union3.d_value=uionn1.d_value;Example7MemoryAllocationofUnionVariables
i_value
f_value
d_valueUnionOperationsExample8
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中医执医考试题型及答案
- 2026年中职(办公自动化)办公设备使用维护基础阶段测试题及答案
- 2026年中职第一学年(航空物流)航空货运安检操作阶段测试题及答案
- 2026年泰宁县社区工作者招聘笔试模拟试题及答案解析
- 河南水利考试题库及答案
- 水族造景考试题及答案
- 2026全球半导体存储市场供需现状分析及投资评估规划研究报告
- 2026年索县中小学幼儿园教师招聘笔试模拟试题及答案解析
- 2026中国石油天然气钻采设备行业市场供需分析及投资评估规划分析研究报告
- 创建“书香校园”活动实施方案
- DB32-T 990-2026 电能计量超差(差错)退补电量计算
- 2026年上海数学三下期末学业质量监测试题(含答案)
- 2026-2030中国米粉(米线)行业产销规模调查与投资效益盈利性研究报告
- 六年级上册体育体能评估教学计划
- 2026北京事业单位真题答案解析
- 物业楼管员收费考核制度
- 学校教师培训费管理制度
- 断绝财产协议书
- 国家事业单位招聘2025国家药品监督管理局医疗器械技术审评中心招聘4人笔试历年参考题库典型考点附带答案详解(3卷合一)2套试卷
- 第六届“四川工匠杯”职业技能大赛(健康照护赛项)理论参考试题库(含答案)
- GB/T 31897.1-2025灯具性能第1部分:一般要求
评论
0/150
提交评论