《C语言程序设计》课件-50结构体类型的基础知识_第1页
《C语言程序设计》课件-50结构体类型的基础知识_第2页
《C语言程序设计》课件-50结构体类型的基础知识_第3页
《C语言程序设计》课件-50结构体类型的基础知识_第4页
《C语言程序设计》课件-50结构体类型的基础知识_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

结构体类型的基础知识本讲目标掌握结构体类型的定义掌握结构体类型变量的定义掌握结构体变量的初始化结构体类型的引入姓

名年

龄性

别学生证号民

族文化程度住

址电话号码字符数组整型字符长整型字符整型字符数组长整型【注】其中“文化程度”用上学年数来表示,如“12”表示高中毕业,“16”表示大学毕业。学生证号和电话号码因为都超过32767,故用long型。结构体类型的定义定义一个结构体类型的一般形式:structperson{ charname[20]; //姓名

intage; //年龄

charsex; //性别

longnum; //学号

charnat; //民族

intedu; //文化程度

charaddr[20]; //地址

longtel; //电话号码};结构体类型的定义定义一个结构体类型的一般形式:structperson{ charname[20]; //姓名

intage; //年龄

charsex; //性别

longnum; //学号

charnat; //民族

intedu; //文化程度

charaddr[20]; //地址

longtel; //电话号码};结构体成员(或称为域)定义结构体变量的方法(1)在结构体类型之后,把变量定义为该类型。struct结构体名结构体变量名;例如:structpersonpupil,student;定义结构体变量的方法(2)在定义结构体的同时,定义一个或多个结构体变量。structperson{ charname[20]; //姓名

intage; //年龄 charsex; //性别 longnum; //学号 charnat; //民族 intedu; //文化程度 charaddr[20]; //地址 longtel; //电话号码}pupil,student;studentpersonmen,women;定义结构体变量的方法(3)没有结构体类型名,直接定义结构体类型的变量。struct{ charname[20]; //姓名

intage; //年龄 charsex; //性别 longnum; //学号 charnat; //民族 intedu; //文化程度 charaddr[20]; //地址 longtel; //电话号码}pupil,student;定义结构体类型变量时应注意的问题(1)定义了结构体类型变量后,每个变量不是一个简单变量,而是由许多基本类型组成的复合变量。HeJing22W123456H16Anhui7966901student的值需要58个字节的内存空间定义结构体类型变量时应注意的问题(2)可以使用sizeof运算符测出一个结构体类型的数据长度。printf(“%d\n”,sizeof(structperson)); //用类型名printf(“%d\n”,sizeof(student)); //用变量名定义结构体类型变量时应注意的问题(3)在定义一个结构体类型时,可以利用已定义的另一个结构体类型来定义其成员类型。structdate{intmonth;

intday;

intyear;}; structperson1{charname[20];

structdatebirth;

charsex;//…省略其它项}student1;name[20]birthsexnumnateduaddr[20]telmonthdayyearHeJing12151974W123456H16Anhui7966901图2structperson1型结构体变量student1图1结构体类型structperson1的数据结构结构体变量的初始化(1)结构体初始化的形式之一。structpersonstudent={"HeJing",22,'W',123456,'H',16,"Anhui",7966901};注意:①在初始化时,初始值的类型、个数、顺序应当和结构成员的定义一致。②结构体变量初始化时,初始数据应按顺序用逗号隔开。在定义结构体变量时初始化:结构体变量的初始化(2)结构体初始化的形式之二。在定义结构体结构及变量的同时对结构体变量初始化:structperson{charname[20];/*姓名*/

intage;/*年龄*/charsex;/*性别*/longnum;/*身份证号码*/charnat;/*民族*/

int

edu;/*文化程度*/charaddr[20];/*地址*/longtel;/*电话号码*/}student={"HeJing",22,'W',123456,'H',16,"Anhui",7966901};

结构体变量的初始化(3)结构体初始化的形式之三。如果一个结构体类型内又嵌套另一个结构体类型,初始化方式:structperson1student1={"HeJing",{12,15,1974},'W',123456,'H',16,"Anhui",7966901};

structdate结构体类型成员birth的初始化值结构体变量的初始化(4)在结构体内部不能对成员进行初始化。structperson{

charname[20]=“HeJing”;//错误intage=22;//错误

charsex='W';”;//错误

longnum=123456;”;//错误

charnat='H';//错误

intedu=16;//错误

charad

温馨提示

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

评论

0/150

提交评论