欢迎来到天天文库
浏览记录
ID:50350456
大小:619.50 KB
页数:10页
时间:2020-03-08
《C_C++程序设计教程 教学课件 作者 王连相 等 第10讲 复合数据类型2.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第10讲复合数据类型第6章复合数据类型结构类型、联合、枚举等6.4结构体类型一、概述记录型数据与结构体一组相关的不同数据类型的数据项,可作一个整体来处理。PASCAL中称“记录型”数据,C中称结构体类型数据。与数组有明显不同,数组要求其所有成员的类型、长短一样结构体类型和结构体变量。指示:删除样本文档图标,并替换为工作文档图标,如下:在Word中创建文档.返回PowerPoint在“插入”菜单中选择“对象...”单击“从文件创建”定位“文件”框中的文件名确认选中“显示为图标”。单击“确定”选择图标从“幻灯片放映”菜单中选择“动作设置
2、”单击“对象动作”,并选择“编辑”单击“确定”structstudent{intnum;charname[20];charsex;structdatebirthday;floatscore;}stu1,stu2;structdate{intmonth;intday;intyear;};什么情形时适用结构体或数组?二、定义结构体的类型和变量定义结构体类型一般形式:[例]参见上页指示:删除样本文档图标,并替换为工作文档图标,如下:在Word中创建文档.返回PowerPoint在“插入”菜单中选择“对象...”单击“从文件创建”定位“文件”
3、框中的文件名确认选中“显示为图标”。单击“确定”选择图标从“幻灯片放映”菜单中选择“动作设置”单击“对象动作”,并选择“编辑”单击“确定”struct结构体类型名{分量1;分量2;分量3;:}分量:<类型标示符><变量
4、复合数据结构>分量又称域或成员。当分量是结构体时,形成定义时的嵌套。定义结构体类型的变量定义结构体变量三种形式:指示:删除样本文档图标,并替换为工作文档图标,如下:在Word中创建文档.返回PowerPoint在“插入”菜单中选择“对象...”单击“从文件创建”定位“文件”框中的文件名确认选中“显示为图标”。单击“确定
5、”选择图标从“幻灯片放映”菜单中选择“动作设置”单击“对象动作”,并选择“编辑”单击“确定”1.定义结构体的同时定义例如前页例。2.先定义结构体,后定义结构体变量例:structstu{….};….structstust1,st2;3.直接定义例:struct{….}变量名表;在struct后不出现结构体类型名三、结构体变量的引用结构体类型不是存储数据的实体,即系统并不是给它分配内存,它仅是一种数据类型,与int,char类似,用来定义一种数据类型的变量;结构体类型变量才是存储数据的实体,结构体变量的分量具体分配存储单元,等价于一组变
6、量。因此我们引用的是结构体变量。引用结构体变量只能通过引用结构体变量的分量(成员)实现(在I/O时,赋值时等)。用“.”或“->”引用。例如:sum=st1.score+st2.score;成员运算符(多级)例如:age=1999-st1.birthday.year;_QC允许将一结构体变量的所有分量赋予同类的另一变量。例如:st2=st1;[例]ex2stu1.c指示:删除样本文档图标,并替换为工作文档图标,如下:在Word中创建文档.返回PowerPoint在“插入”菜单中选择“对象...”单击“从文件创建”定位“文件”框中的文件
7、名确认选中“显示为图标”。单击“确定”选择图标从“幻灯片放映”菜单中选择“动作设置”单击“对象动作”,并选择“编辑”单击“确定”四、结构体数组以某结构体类型也可以定义数组[例]按姓名查询。ex2stuarr.c指示:删除样本文档图标,并替换为工作文档图标,如下:在Word中创建文档.返回PowerPoint在“插入”菜单中选择“对象...”单击“从文件创建”定位“文件”框中的文件名确认选中“显示为图标”。单击“确定”选择图标从“幻灯片放映”菜单中选择“动作设置”单击“对象动作”,并选择“编辑”单击“确定”structstudent{i
8、ntnum;charname[30];charsex;floatscore;}stu[30];每个下标变量stu[i]都有结构体类型student的各个分量;下标变量的引用同变量。五、结构体类型的指针指向结构体类型变量的指针指示:删除样本文档图标,并替换为工作文档图标,如下:在Word中创建文档.返回PowerPoint在“插入”菜单中选择“对象...”单击“从文件创建”定位“文件”框中的文件名确认选中“显示为图标”。单击“确定”选择图标从“幻灯片放映”菜单中选择“动作设置”单击“对象动作”,并选择“编辑”单击“确定”指向结构体类变量
9、的指针就是该变量所占用的内存区段的首址。[例]structstudent{intnum;charname[3];charsex;floatscore;}st1,st2,st3;structstudent*p=&st1;p
此文档下载收益归作者所有