版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
结构体变量的引用本讲目标掌握结构体变量的引用掌握结构体变量的输入和输出结构体变量的引用1.引用结构体变量中某一成员引用格式如下:结构体变量名.成员名
structperson{
charname[20];intage;charsex;longnum;charnat=;intedu;charaddr[20];longtel;}student;例如,要访问结构体变量student中的num,应写成以下形式:student.num其中的圆点符号称为成员运算符,它的运算级别最高。
在引用结构体变量中的一个成员时,应该注意下面几个问题:(1)如果程序中有两个变量pupil、student均被定义为同一个结构体类型structperson,为引用两个变量中的num成员项,应该分别用下面的形式引用:pupil.numstudent.num它们代表内存中不同的存储单元,有不同的值。在引用结构体变量中的一个成员时,应该注意下面几个问题:(2)如果在一个结构体类型中又嵌套了另一个结构体类型,则访问某个成员时,应采取逐级访问的方法,直到得到所要访问的成员为止。name[20]birthsexnumnateduaddr[20]telmonthdayyear图1结构体类型structperson1的数据结构student1.birth.year在引用结构体变量中的一个成员时,应该注意下面几个问题:(3)可以对结构变量的成员进行各种有关的运算。对结构变量成员进行运算的种类,与相同类型的简单变量的运算种类完全相同。例如:student.num=pupil.num;student.num++;sum=student.num+pupil.num;结构体变量的引用2.引用一个整体结构体变量可以将一个结构体变量作为一个整体赋给另一个具有相同类型的结构体变量。示例讲解:同类型结构体变量间的赋值在引用一个整体结构体变量的时候应注意以下几个问题:(1)在C语言中,对于不同类型的结构体不允许相互赋值,即使它们的元素相同。例如:
structmanstructwoman
{intage;
{intage;
charsex;
charsex;}p1;}p2;此时如果执行p1=p2的话,系统将会给出出错信息。在引用一个整体结构体变量的时候应注意以下几个问题:(2)可以把一个结构体变量中内嵌的结构体类型成员赋给另一个结构体变量的相应部分或与此内嵌结构类型成员的类型相同的变量。stu2.birth=stu1.birth或
structdated1;d1=stu1.birth;stu2.birth=d1;在引用一个整体结构体变量的时候应注意以下几个问题:(2)不允许用赋值语句将一组常量直接赋给一个结构体变量。示例,下面语句不合法:stu1={"WangLi",{12,15,1974}};结构体变量的输入和输出例如,已定义一个结构体变量stud:struct{ charname[15]; charaddr[20]; longnum;}stud={"HeJing","Beijing",12345};输出stud变量的方式:(1)printf("%s,%s,%ld\n",,stud.addr,stud.num);(2)puts();输入stud变量的方式:(1)scanf("%s,%s,%ld\n",,stud.addr,&stud.num);(2)gets();结构体变量输入/输出时应注意的问题(1)C语言不允许把一个结构体变量作为一个整体进行输入或输出的操作。例如,下面的输入/输出语句是不允许的:printf(“%d\n”,stud);//错误scanf(“%d”,&stud);//错误结构体变量输入/输出时应注意的问题(2)同样,C语言中也不允许用下面的形式来完成结构体变量的输入/输出操作。printf(“%s,%s,%ld\n”,stud);//错误小结结构体变量的引用结构体变量名.成员名结构体成员还是结构体变量,需要逐级访问:student1.birth.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年延吉市医院招聘考试备考题库及答案解析
- 2026中国旅游集团校园招聘笔试备考题库及答案解析
- 2026商水豫东平民医院招聘38人笔试参考题库及答案解析
- 2026年枣庄市口腔医院急需紧缺人才引进(5名)笔试参考题库及答案解析
- 2026中国能建黑龙江院校园招聘考试备考题库及答案解析
- 2026年西安碑林区柏树林社区卫生服务中心志愿者招募笔试参考题库及答案解析
- 东营市科达小学公开招聘劳务派遣教师笔试备考题库及答案解析
- 2025-2026学年浙江温州第四中学初三摸底联考(全国卷)英语试题试卷含解析
- 2026届浙江省衢州市菁才中学第一次中考模拟考试英语试题含解析
- 重庆市万盛经济技术开发区关坝中学2026届初三数学试题二模冲刺试题(五)含解析
- 太原铁路局集团招聘笔试题库2026
- 行业招聘面试问题清单专业能力测试版
- 广西机场管理集团秋招试题及答案
- 上交所2026校招笔试题
- 2026延安志丹县人力资源和社会保障局公益性岗位招聘(50人)笔试备考题库及答案解析
- 车间内部转运车管理制度
- 2026年山东省立第三医院初级岗位公开招聘人员(27人)笔试参考题库及答案解析
- 2026湖北武汉市江汉城市更新有限公司及其下属子公司招聘11人笔试备考题库及答案解析
- 2026年温州永嘉县国有企业面向社会公开招聘工作人员12人笔试备考题库及答案解析
- 麻醉门诊评估指南解读
- 2026年广东省辅警笔试题库及1套参考答案
评论
0/150
提交评论