第十四讲-结构体_第1页
第十四讲-结构体_第2页
第十四讲-结构体_第3页
第十四讲-结构体_第4页
第十四讲-结构体_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、概念:结构体是一种构造数据类型用途:把不同数据类型的数据组织在一起,描述复杂的数据例如:描述图形圆 描述一辆汽车描述一个学生的信息描述一件商品结构体数据类型的定义:struct 结构类型名数据类型 成员名;数据类型 成员名;;例如:struct studentint num;char name20;short age;char sex;float score;numnameagesexscore定义完结构体之后,就可以使用该数据类型定义变量方式1: struct student stu1,stu2;方式2:struct studentshort num;char name20;short ag

2、e;char sex;float score;stu1,stu2;方式3(一次性定义)structshort num;char name20;short age;char sex;float score;stu1,stu2;可以使用点运算符引用结构体的数据成员,例如:stu1.age=25;stu1.age+;str2.age=str1.age;但对于数组成员,则应该以如下方式引用:strcpy(,”zhangsan”);或者使用输入函数:gets();嵌套结构体的引用:stu1.date.year=2005;不能整体对结构体变量赋值,例如:scanf(“%

3、d,%s,%hd,%c,%f”,stu1);/错误printf(“%d,%s,%hd,%c,%fn”,stu1);/错误stu1=9527 , ”huaan” , 25 , m , 99.5; /错误结构复制:stu1=stu2;/可以这么做1、逐个初始化:strcpy(,”zhangshan”);stu1.num=9527;stu1.age=25;stu1.sex=m;stu1.score=99.5f;2、定义时初始化:struct student int num; char name20; char sex; int age; float score; stu1=112,

4、“Wang Lin”,M,25, 99.5; 3、或者在定义变量的时候同时进行初始化:struct student stu1=9527,”a3”,m,25,99.5;那么:stu1.num=9527;=“a3”;stu1.sex=m;stu1.age=25;stu1.score=99.5;为了能够批量定义结构体变量,可以使用结构体数组方式一:struct student stu20;方式二: struct studentshort num;char name20;short age;char sex;float score;stu120;1、在定义的同时进行初始化 struc

5、t student stu3=9527,”a3”,m,25,99.5, 9528,”a4”,f,26,87, 9529,”a5”,f,20,90 ;或者 struct student stu=9527,”a3”,m,25,99.5, 9528,”a4”,f,26,87, 9529,”a5”,f,20,90 ;2、 struct studentshort num;char name20;short age;char sex;float score;stu1=9527,”a3”,m,25,99.5;引用方式:stu1i.成员变量名结构体指针和其他基本类型的指针使用方式相同。注意 : * 运算符的优

6、先级小于点(.)运算符例如:struct student stu1,*p;stu1.num=9527;=“zhangsan”;stu1.age=25;p=&stu1;那么:(*p).num 表示对成员变量num的引用(*p).age 表示对成员变量age的引用或者:p-nump-agep-name 这是一个整体结构体作为函数参数必须将函数形参定义为结构体类型例如:返回值类型名 fun(struct student a);那么在调用的时候,必须将具体的结构体变量(实参)传入例如:fun(stu1);也可以将形参定义为结构体指针例如: 返回值类型 fun(struct student *t);调用时把结构体变量的地址或指针传入即可如果函数返回值为结构体变量,则必须定义为如下形式:struct student fun();那么在函数内部必须由return返回一个结构体变量return a;/a 为struct stude

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论