《C语言程序设计》课件-51结构体变量的引用_第1页
《C语言程序设计》课件-51结构体变量的引用_第2页
《C语言程序设计》课件-51结构体变量的引用_第3页
《C语言程序设计》课件-51结构体变量的引用_第4页
《C语言程序设计》课件-51结构体变量的引用_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

结构体变量的引用本讲目标掌握结构体变量的引用掌握结构体变量的输入和输出结构体变量的引用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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论