- 6
- 0
- 约5.4千字
- 约 7页
- 2017-05-28 发布于贵州
- 举报
实验10 结构体及共用体
实验十 结构体与共用体
实验目的:
结构体类型变量的定义和引用
结构体类型数组的概念和引用
指向结构体类型的指针的引用
共用体的定义及引用
链表的概念,会实现链表的创建
实验相关内容简介:
实结构体是个能够包含不同数据类型的一个结构,是一种能够自己定义的数据类型struct 结构类型名
{ 数据类型 数据项1;
数据类型 数据项2;
… …
数据类型 数据项n;
}; //注意此处定义时分号不能少
其中的结构类型名表明了一种新的构造数据类型,其中的数据项称为结构体的数据成员。
结构体变量定义
结构体变量定义的形式通常有如下三种方法:
(1)先定义结构体类型,再定义结构体类型变量:struct date
{ int day;
int month;
int year;
};
struct date time1,time2;
(2)定义结构体类型同时定义结构体类型变量:struct stu
{long int num;
char name[20];
char sex;
float score;
struct date time1; //此处结构的成员也是个结构体
}stu1,stu2;
(3)直接定义结构体类型变量:
struct
{char name[20]; / *通讯录姓名* /
char sex; / *性别* /
long telephone; / *电话* /
char address; / *住址* /
} person1,person2; / *定义该结构体类型变量* /
该定义方法由于无法记录该结构体类型,所以除直接定义外,不能再定义该结构体类型变量。
结构体变量成员的引用
结构体变量的成员引用形式为:结构体变量名.成员名
如time1.year=1980;是给结构体变量time1中的year变量赋上年份值;stu1.time1.year=1985;则是给student中time1成员中的year成员赋值,
结构体数组的定义
struct 结构体类型名 结构体变量名[数组长度];
如:struct stu std[3];则std是一个包含3个结构体的结构体数组。
结构体类型的指针
(1)指向结构体变量的指针
struct stu stu1,*p;
p=stu1; 此处将结构体stu1的地址赋给了p,p成为了指向结构体stu1的指针变量。
(2)指向结构体类型的指针引用
引用形式:指针变量-成员名
如p-num=10 //此表达式的效果相当于stu1.num=10;
(3) 指向结构体数组的指针
struct stu stu1[3],*p;
p=stu1; //此处变量名前不需加取址符号,因stu1本身就代表一个地址
(4)指向结构体数组的指针引用
引用方式较为灵活:①指针变量[下标].成员名 如:p[i].num
②(指针变量+i)-成员名
#include stdio.h
struct stu
{long int num;
char name[20];
char sex;
float score;
}stu1[3],*p;
main()
{int i;
p=stu1;
i=2;
p[2].num=15; //利用数组下标方法给结构体成员赋值
(p+3)-num=20; //利用结构体指针为结构体成员赋值
printf(%d %d,stu1[2].num,stu1[3].num);
}
共用体类型
union 共用体类型名
{ 数据类型 数据项1;
数据类型 数据项2;
… …
数据类型 数据项n;
}; //注意此处定义时分号不能少
共用体又称为联合体,它和结构体的不同之处是,联合体的所有成员占用一个公共的空间,而共用体所占的空间应该是各个成员存储空间之和。
如
union stu
{long int num; //4字节
char name[20]; //20字节
char sex; //1字节
float score; //4字节
}
联合体stu所占的空间是20字节。
链表处理-结构指针的应用
链表是一种常见的重要的数据结构,采用动态的分配方法为一个结构体分配内存空间,可使用malloc函数分配。构成链表的每一个结构体被称为结点。
在动态分配时,每个结点可以是不连续的(每个结点内是连续的),结点间的联系通过指针来实现,即在结点结构中定义一个成员项用来存放下一结点的首地址,这个用于存放地址的成员,常称为指针域。可在第一个结点的指针域存放第二个结点的首地址,如此串下去直到最后一
您可能关注的文档
- 安徽金太阳示范工程实施方案.doc
- 安徽高职高专院校教师专业技术资格条件(试行).doc.doc
- 安恒信息数据安全防“脱库”解决案例.doc
- 安排好每年十二个月地养生计划.doc
- 安新强职场压力及情绪管理简介.doc
- 安监站2010年年工作总结.doc
- 安源后山风景区项目建设可行性分析报告.doc
- 安泰科技和非晶带材分析.doc
- 安腾校园网认证计费系统解决案例.doc
- 安致丞:商业地产定位详细规划、招商策略与租务管理.doc
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
最近下载
- 2026年妇幼健康信息化建设工作计划.docx VIP
- TSG 11-2020锅炉安全技术规程.docx VIP
- 《AIGC应用实战:写作、绘图、视频制作、直播》-课件全套 王翎子 第1--9章 认识AIGC ---即创的使用方法.pptx VIP
- 隧道施工及质量控制培训课件.ppt VIP
- 江苏省无锡市近三年数学中考考前考点分析及易错点巩固.docx VIP
- 公司职位说明书与绩效考核范本全套体系.doc VIP
- 建筑公司项目部及公司各岗位绩效考核表.pdf VIP
- 窗帘采购安装项目 投标方案(技术方案).docx
- JCT 2459-2018 陶粒泡沫混凝土.pdf VIP
- 配电室安全操作规程及管理规范.docx VIP
原创力文档

文档评论(0)