




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、构造体类型由一些属于不同数据类型的数据组合而成的构造构造体类型由一些属于不同数据类型的数据组合而成的构造数据类型,其主要特点为:数据类型,其主要特点为:构造体类型由假设干个数据项组成,其中每一个数据项称为一构造体类型由假设干个数据项组成,其中每一个数据项称为一个构造体成员,它们都属于一种曾经有定义数据类型;个构造体成员,它们都属于一种曾经有定义数据类型;系统并没有预先定义构造体类型,凡要运用构造体类型数据那系统并没有预先定义构造体类型,凡要运用构造体类型数据那么需求在程序中进展定义。可以根据不同的需求在程序中定么需求在程序中进展定义。可以根据不同的需求在程序中定义假设干个构造体类型;义假设干个
2、构造体类型;一个特定的自定义构造体类型只在其定义存在的源程序中起作一个特定的自定义构造体类型只在其定义存在的源程序中起作用,在其他源程序中那么不能运用;用,在其他源程序中那么不能运用;要运用构造体类型数据,必需求先定义构造体类型,然后再定要运用构造体类型数据,必需求先定义构造体类型,然后再定义此种类型的变量;义此种类型的变量;n一个构造体类型定义完成后这种数据类型就存在一个构造体类型定义完成后这种数据类型就存在于于C源程序中,在同一个源程序中可以定义该种数源程序中,在同一个源程序中可以定义该种数据类型的变量。据类型的变量。struct student long id; char name20;
3、 int age; char sex; char address80; long ; struct A long number; char name20; int x; float y; struct A a1,a2;struct B long number; char name20; int x; float y;b1,b2; struct long number; char name20; int x; float y;c1,c2; struct datestruct date int year; int year; int month; int month; int day; int d
4、ay;struct studentstruct student long number; long number; char name20; char name20; struct date birthday; struct date birthday; int age; int age; char address80; char address80; long ; long ;typedef int INTEGER;为系统整型int类型取别名INTEGERint j,k; 等价于 INTEGER j,k; typedef struct studenttypedef struct studen
5、t long number; long number; struct date birthday; struct date birthday; char name20; char name20; int age; int age; char sex; char sex; char address80; char address80; long ; long ;STU;STU;struct student struct student 等价于等价于 STU STUstruct studentstruct student long number; long number; struct date
6、birthday; struct date birthday; char name20; char name20; int age; int age; char sex; char sex; char address80; char address80; long ; long ; ;typedef struct student STU;typedef struct student STU;struct student struct student 等价于等价于 STU STUn类型类型 。nn构造体变量名构造体变量名.一级成员分量名一级成员分量名.二级成二级成员分量名员分量名 特别提示:构造
7、体成员分量的数据类型与在其衔接组合过特别提示:构造体成员分量的数据类型与在其衔接组合过程最后一个成员分量的数据类型一致。程最后一个成员分量的数据类型一致。 例:设有构造体类型及变量定义例:设有构造体类型及变量定义 struct A int x; float y; ; struct B struct A a; char c; ; struct B b;struct B b;那么有:那么有:b.a.x b.a.x 整型变量整型变量 b.a.y b.a.y 实型变量实型变量b.c b.c 字符型变量字符型变量n struct student stu2=stu1; n10-5 体成员作为函数参数运用例
8、如。体成员作为函数参数运用例如。struct TEST int x; char ch;实参实参 struct TEST a; struct TEST a;aa.xa.chbb.xb.ch形参形参 struct TEST b; struct TEST b;10aa10例例10-6 10-6 前往构造体类型函数的运用例如。前往构造体类型函数的运用例如。n struct ;例:设有构造体类型定义例:设有构造体类型定义sturct personsturct person char name20; char name20; int count; int count;struct person stu3=
9、struct person stu3=“ZhangZhang,0,0,WangWang,0,0,LiLi,0;,0;struct person stu3=struct person stu3=“ZhangZhang,0,0,“WangWang,0,0,“LiLi,0; ,0; 例例10-8 10-8 输入假设干个学生信息写入指定文件中,输入功能用函数实现。输入假设干个学生信息写入指定文件中,输入功能用函数实现。 struct A int x; char c;a(实践参数:struct A a10;)b(方式参数:struct A b) 本质上是指针变量例例10-9 10-9 从例从例10.81
10、0.8创建的数据文件中读出数据显示到屏幕上,输出功创建的数据文件中读出数据显示到屏幕上,输出功能用函数实现。能用函数实现。 给相应的指针变量。给相应的指针变量。struct person char name20; int count;stu, *p=&stu;ptr&stustu*ptrstup指针变量指针变量p p与构造与构造体变量体变量stustu的关系的关系同样:对指针变量同样:对指针变量p p取指针运算就是构造取指针运算就是构造体变量体变量stustustruct A int x; float y;a1,*p=&a1; &a1 pa1 *p a1.x (
11、*p).x a1.y (*p).y p-x p-y构造体变量构造体变量操作方式操作方式经过指向构造经过指向构造体变量的指针体变量的指针变量操作构造变量操作构造体变量的方式体变量的方式例例10-10 10-10 经过指向构造体变量的指针访问构造体变量。经过指向构造体变量的指针访问构造体变量。 struct A char c; int x; ; struct A a5,*p1; p1=&a2;ap1 &a2 p1 a2 *p1 a2.x (*p1).x a2.y (*p1).y p1-x p1-y struct A char c; int x; ; struct A a5,*p2;
12、 p2=a;ap2 &ai p2+i ai *(p2+i) ai.x (*(p2+i).x ai.y (*(p2+i).y (p2+i)-x (p2+i)-y例例10-11 10-11 从例从例10.810.8创建的数据文件中读出数据,并根据成果评定创建的数据文件中读出数据,并根据成果评定学生的等级。学生的等级。 n 成员列表;成员列表;变量列表变量列表union test int a; long b;key;定义了一个结合体类型union test和一个该类型的结合体类型变量key,16位系统中该类型所占的存储单元长度为4个字节,由变量key的两个成员分量分时复用共享。 类似。类似。n例例10-13 10-13 结合体共用体类型变量作为函数参数。结合体共用体类型变量作为函数参数。 例例10-14 10-14 用指向结合体共用体类型变量的指针作为函数用指向结合体共用体类型变量的指针作为函数的参数。的参数。 例例10-12 10-12 在人事数据管理中,对在人事数据管理中,对“职级数据项处置方式如下:职级数据项处置方式如下:如类别是工人那么登记其如类别是工人那么登记其“工资级别;如类别是技术人员那么工资级别;如类别是技术人员那么登记其登记其“职称。职称。 struct A int x; char c2;a;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 商业合同协议书
- 车辆贴膜合同协议书模板
- 货物采购简易合同协议书
- 扶梯拆除合同协议书
- 结婚协议合同协议书
- 学生禁毒教育心得体会模版
- 辅警刑法笔试题及答案
- 猪场出租合同协议书
- 完成合同协议书
- 合同约定协议书打印
- 知识产权法(四川师范大学)智慧树知到答案2024年四川师范大学
- 2024-2030年中国羊绒市场销售格局与未来发展动向追踪报告
- 足疗技师免责协议书
- 延长石油招聘笔试试题
- DB-T 29-22-2024 天津市住宅设计标准
- 古代诗人名人韩愈人物介绍课件
- 中华护理学会成人肠内营养支持护理团标解读
- 《1.4茎和叶》说课稿、教案、教学设计和同步练习
- 部编版《道德与法治》六年级下册第1课《学会尊重》精美课件
- 企业VI设计报价清单
- 国家开放大学《现代教育原理》形考任务1-5参考答案
评论
0/150
提交评论