结构体、共用休和用户定义类型

结构体、共用休和用户定义类型

ID:39628904

大小:445.00 KB

页数:47页

时间:2019-07-07

结构体、共用休和用户定义类型_第1页
结构体、共用休和用户定义类型_第2页
结构体、共用休和用户定义类型_第3页
结构体、共用休和用户定义类型_第4页
结构体、共用休和用户定义类型_第5页
资源描述:

《结构体、共用休和用户定义类型》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、全国计算机等级考试2C课程第十一讲结构体、共用体和用户定义类型结构体的概念与数组相比,结构体是一种功能更为强大的构造类型数据。结构体类型可以把不同类型的数据组合成一个整体。定义方法:struct[结构体名]{数据类型1成员名1;数据类型2成员名2;……数据类型n成员名n;};说明:struct是定义结构体类型的关键字;结构体名、成员名是合法的用户标识符,结构体名可省略(无名结构体)数据类型n成员名n可以是基本类型也可以是其他构造类型;同一结构体中成员名不可同名;结构定义语句的分号不可省略;结构体类型定义只是规定了该结构体类型的组成形式

2、,编译程序并不会给结构体类型分配存储空间。7/16/20212作者:张旭仟版权所有欢迎盗版结构体类型和结构体变量的定义应先定义结构体类型,再定义结构体变量如:structstudent{intnum;charname[20];charsex;intage;floatscore;charaddr[30];};structstudentstu1,stu2;又如:#defineSTUDENTstructstudentSTUDENT{intnum;charname[20];charsex;intage;floatscore;charaddr[

3、30];};STUDENTstu1,stu2;stu1100102WangLiF2098Beijing100101LiXinM1990.5Shanghaistu27/16/20213作者:张旭仟版权所有欢迎盗版结构体类型和结构体变量的定义也可以直接定义结构体变量。一般形式:struct{类型标识符成员名;类型标识符成员名;……}变量名表列;如:struct{intnum;charname[20];charsex;intage;floatscore;charaddr[30];}stu1,stu2;本例中,结构体类型没有被命名,这称为无名

4、结构体。无名结构体可以用来直接定义变量,但本类型只能使用一次,后面无法再用。7/16/20214作者:张旭仟版权所有欢迎盗版结构指针变量的定义结构指针变量说明的一般形式为:struct结构名*结构指针变量名例如,在前面的例题中定义了stu这个结构,如要说明一个指向stu的指针变量pstu,可写为:structstu*pstu;当然也可在定义stu结构时同时说明pstu。结构指针变量也必须要先赋值后才能使用。赋值是把结构变量的首地址赋予该指针变量。要特别注意的是,不能把结构类型名赋予一个指针变量。如果boy是被说明为stu类型的结构变量

5、,则:pstu=&boy是正确的;pstu=&stu是错误的。7/16/20215作者:张旭仟版权所有欢迎盗版结构体类型和结构体变量的定义说明结构体的成员名可以与程序中的变量名相同,二者不代表同一对象。需要特别说明的是,结构体类型与结构体变量不是一个概念结构体类型是用户自定义的结构型数据类型,它在定义时并不需要分配内存。你不能给一种结构体类型赋值,当然也不能对它存取和运算。结构体变量就是具有特定结构体类型的变量,编译时系统将为其分配相应的存储空间。可以对其赋值、存取以及运算。7/16/20216作者:张旭仟版权所有欢迎盗版结构体类型和

6、结构体变量的定义例:structstudent{intnum;charname[20];charsex;intage;floatscore;charaddr[30];};注意:这是结构体定义,只描述结构的组织形式,student是结构体类型名,编译时并不为它分配内存namenumsexagescoreaddr4字节4字节20字节1字节4字节30字节……结构体只有在实例化时才为每个结构体成员分配内存。7/16/20217作者:张旭仟版权所有欢迎盗版结构体类型和结构体变量的定义结构体中的成员(即“域”),可以是普通变量也可以是一个结构体变

7、量。也就是说结构体可以嵌套使用。如:structdate{intmonth;intday;intyear;};structstudent{intnum;charname[20];structdatebirthday;}stu;numnamebirthdaymonthdayyear或:structstudent{intnum;charname[20];structdate{intmonth;intday;intyear;}birthday;}stu;7/16/20218作者:张旭仟版权所有欢迎盗版结构体变量的初始化形式一:struct结

8、构体名{类型标识符成员名;类型标识符成员名;…………….};struct结构体名结构体变量={初始数据};例:structstudent{intnum;charname[20];charsex;intage;charad

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。