讲义结构体与共用体.doc_第1页
讲义结构体与共用体.doc_第2页
讲义结构体与共用体.doc_第3页
讲义结构体与共用体.doc_第4页
讲义结构体与共用体.doc_第5页
全文预览已结束

下载本文档

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

文档简介

教学目的:介绍结构体、共用体的使用,掌握利用结构体、共用体编程。学习要求:1. 熟练掌握结构体类型的定义2. 熟练掌握结构体变量的定义和使用3. 掌握结构体数组主要外语词汇:Structure、Union第9章 结构体与共用体9.1 结构体的说明和定义一、定义结构体类型: struct 结构体名 类型名1 成员名1;类型名n 成员名n;1、一个结构体类型有其专用的标志,它由两个单词组成:第一个单词为关键字struct,第二个单词由用户指定,这二者联合起来组成一个类型名。2、系统没有预先定义结构体类型,用户需在程序中自己定义。3、定义一个结构体类型只是表示这个类型的结构,这只是定义类型而不是定义变量,系统对之也不分配实际内存单元,它只反映了一种数据属性。“struct 结构体标识名”的作用相当于“int”的作用。4、定义结构体类型时允许嵌套(最多15层)。5、结构体类型的定义有局部和全局之分。二、定义结构体类型的变量:1、先声明结构体类型再定义变量名:例:struct student int num;char name20;char sex;int age;float score;char addr30; struct student student1,student2;2、在声明结构体类型的同时定义变量:例:struct student int num;char name20;char sex;int age;float score;char addr30;student1,student2;3、直接定义结构体类型变量:例:struct int num;char name20;char sex;int age;float score;char addr30;student1,student2;4、在编译时,系统对结构体变量分配实际内存单元。5、结构体成员变量也可以是一个结构体变量。6、结构体成员名可以与程序中的其它变量名相同。例:struct student int num;char name20;char sex;int age;float score;char addr30;student1,student2; int num,age;9.2 结构体成员的引用与结构体变量的初始化一、结构体变量的引用:1、引用结构体变量中的一个成员:结构体变量名成员名称为成员运算符,优先级最高。2、区分:(1)student1.num:结构体变量student1中的num成员。 (2)num:简单变量num。3、内嵌结构体成员的引用:必须逐层使用成员名定位。例:student1.birthday.month4、对结构体变量中的每个成员,都可以象普通变量一样,对它进行同类变量所允许的任何操作。二、结构体变量的初始化:1、所赋初值按顺序放在一对花括号中。2、不允许跳过前面的成员给后面的成员赋初值。例如:struct student char name20; char sex; float sc4;stud=“Li Ming”,M,88,76,85.5,90;3、在程序执行时利用赋值语句赋值:例:struct student char name20; char sex; float sc4;std;strcpy(,“Li Ming”);std.sex=M;std.sc0=66; std.sc1=77; std.sc2=88; std.sc3=99;4、如果一个结构体类型内又嵌套了另一个结构体类型时,则初始化时仍然是对各个基本类型的成员赋初值。5、两个相同类型的结构体变量之间可以互相整体赋值。但数组之间不允许整体赋值。例:#include void main( ) struct student char name20; char sex; float sc4;std1=“Li Ming”,M,88,76,85.5,90,std2;std2=std1; 正确例1:9.3 结构体数组结构体数组:数组中每一个元素都是一个结构体变量,数组各元素在内存中连续存放(按行存放)。一、定义结构体数组:1、先声明结构体类型再定义结构体数组:例:struct student int num;char name20;char sex;int age;float score;char addr30; struct student stu3;2、在声明结构体类型同时定义结构体数组:例:struct student int num;char name20;char sex;int age;float score;char addr30;stu3;3、直接定义结构体数组而不声明类型名:例:struct int num;char name20;char sex;int age;float score;char addr30;stu3;二、结构体数组的初始化:1、在对结构体数组初始化时,要将每个元素的数据分别用花括号括起来。例1:struct student int num; char name20; char sex; int age; float score; char add30;stu3=10101,“Li Lin”,M,18,87.5,“103 Beijing Road”,10102,“Zhang Fun”,M,19,99,“130 Shanghai Road”,10103,“Wang Min”,F,20,78.5,“1010 Zhongshan Road”;例2:struct student int num; char name20; char sex; int age; float score; char add30;struct student stu3=10101,“Li Lin”,M,18,87.5,“103 Beijing Road”,10102,“Zhang Fun”,M,19,99,“130 Shanghai

温馨提示

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

评论

0/150

提交评论