资源描述:
《第7章 结构体》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、C语言程序设计第7章结构体9/20/20211第7章结构体【本章概要】C语言在提供基本数据类型、数组类型和指针类型的基础上,可由用户自定义数据类型:如结构体、共用体、枚举类型和定义已有类型的替代类型等。本章学习的重点是结构体类型,在重点介绍结构体类型的基础上,又介绍了链表。9/20/20212第7章结构体7.1结构体类型7.2结构体变量7.3用户定义类型第7章结构体与枚举9/20/20213第7章结构体7.1结构体类型【问题】如何表示一个学生的基本信息?如何表示多个学生的基本信息?学号姓名性别年龄地址(长整型)(字
2、符数组)(字符)(整型)(字符数组)7.1结构体类型9/20/20214第7章结构体7.1结构体类型结构体类型的定义形式为:struct类型名{成员项表列};例如包含上图中全部类型数据的结构体类型的定义如下:structstudent/*structstudent是结构体类型名*/{/*以下定义成员项的类型和名字*/longnum;charname[20];charsex;intage;charaddr[30];};7.1结构体类型9/20/20215第7章结构体7.1结构体类型7.2结构体变量7.3用户定义类型第
3、7章结构体与枚举9/20/20216第7章结构体7.2结构体变量7.2.1结构体变量的声明结构体变量的说明有三种方法:1.用已定义的结构体类型名定义变量。structstudent{longnum;charname[20];charsex;intage;charaddr[30];};structstudentstu1,stu2;/*定义了两个结构体变量student和worker*/这样定义的结构体类型可以多次使用。如:structstudentstu3;9/20/20217第7章结构体7.2结构体变量7.2.1结
4、构体变量的声明2.在定义结构体类型的同时定义结构体变量,这样定义的结构体类型也可多次使用。一般的形式为:struct类型名{成员项表列}变量名表列;如:structstudent{longnum;charname[20];charsex;intage;charaddr[30];}stu4,stu5;structstudentstu6;9/20/20218第7章结构体7.2结构体变量7.2.1结构体变量的声明3.不定义结构体类型名,直接定义结构体变量。一般形式为:struct{成员项表列}变量名表列;9/20/202
5、19第7章结构体7.2结构体变量7.2.2结构体变量初始化在定义结构体变量的同时都可以进行初始化赋值,例如:structstudentstu1={201001,"LiNin",18,'M',"大学南路252号"},stu2={201002,"JingQing",19,'F',"淮南人民南路361号"};注意:初始化数据应与类型中的各个成员在位置上一一对应。9/20/202110第7章结构体7.2结构体变量7.2.2结构体变量初始化对于嵌套的结构体类型变量,初始化是对各个基本类型的成员赋初值,例:structdate
6、{intyear;intmonth;intday;};structstudent1{longnum;charname[20];structdatebirthday;charsex;charaddress[30];}stu11,stu12;structstudent1stu11={2010003,"LinLong",1993,12,5,'M',"大学南路252号"};或者:structstudent1stu11={2010003,"LinLong",{1993,12,5},'M',"大学南路252号"};9/20/2
7、02111第7章结构体7.2结构体变量7.2.3结构体变量的引用1.引用结构体成员在无嵌套的情况下,引用结构体变量成员的形式为:结构体变量名·成员名其中的“.”叫“结构体成员运算符”,这样引用的结构体成员相当于一个普通变量,例如:stu1.num/*结构体变量student的成员num,相当于一个长整型变量*/stu1.name/*结构体变量student的成员name,相当于一个字符数组名*/9/20/202112第7章结构体7.2结构体变量7.2.3结构体变量的引用在有嵌套的情况下,访问的应是结构体的基本成员,
8、因为只有基本成员直接存放数据,且数据是基本类型或上面介绍的数组类型,引用形式为:结构体变量名·结构体成员名·…·结构体成员名·基本成员名即从结构体变量开始,用成员运算符“.”逐级向下连接嵌套的成员直到基本成员,不能省略,例如:stu11.birthday.year/*基本成员year,相当于一个整型变量*/9/20/202113第7章结构体7.2结构体变量7