欢迎来到天天文库
浏览记录
ID:48061243
大小:394.00 KB
页数:39页
时间:2020-01-13
《C语言结构体与共用体讲解.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第11章结构体与共用体一、结构体的概念及使用二、结构体变量、数组和指针三、链表的概念及基本操作四、11.8共用体11.9枚举类型11.10用typedef定义类型自己阅读本章要点结构体的概念结构体的定义和引用结构体数组C数据类型基本类型构造类型指针类型空类型void定义类型typedef数值类型字符类型char枚举类型enum整型浮点型单精度型float双精度型double短整型short长整型long整型int数组结构体struct共用体union2、基本类型基础上自己定义的第11章结构体与共用体一、概述(结构体类型的声明)结构体是一种构造数据类型用途:把不同类型的数据组合成一个整体-------自定义数据类型结构体类型定义struct[结构体名]{类型标识符成员名;类型标识符成员名;…………….};成员类型可以是基本型或构造型struct是关键字,不能省略合法标识符可省:无名结构体分号不能省略例structstudent{intnum;charname[20];charsex;intage;floatscore;charaddr[30];};结构3、体类型定义描述结构的组织形式,不分配内存例如:要想把学生基本情况作为一个整体加以处理,包括学号、姓名、性别、年龄、成绩、住址等,定义结构体类型例structstudent{intnum;charname[20];charsex;intage;floatscore;charaddr[30];};structstudentstu1,stu2;二、定义结构体类型变量的方法1、先声明结构体类型,再定义结构体变量一般形式:定义结构体变量之后为其分配内存单元struct结构体名{类型标识符成员名;类型标识符成员名4、;…………….};struct结构体名变量名表列;namenumsexagescoreaddr2字节2字节20字节1字节4字节30字节……..stu12、声明结构体类型的同时定义结构体变量一般形式:struct结构体名{类型标识符成员名;类型标识符成员名;…………….}变量名表列;例structstudent{intnum;charname[20];charsex;intage;floatscore;charaddr[30];}stu1,stu2;三、说明结构体类型与结构体变量概念不同类型:不分配内存5、;变量:分配内存成员可单独使用,相当于使用一般变量结构体可嵌套。成员也可以是一个结构体变量结构体成员名与程序中的变量名可相同,不会混淆例structdate{intmonth;intday;intyear;};structstudent{intnum;charname[20];structdatebirthday;}stu;numnamebirthdaymonthdayyear四、结构体变量的引用引用规则、引用方式、赋值或存储运算、算术运算、引用成员地址例structstudent{intnum;ch6、arname[20];charsex;intage;floatscore;charaddr[30];}stu1,stu2;stu1.num=10;stu1.score=85.5;stu1.score+=stu2.score;stu1.age++;例structstudent{intnum;charname[20];structdate{intmonth;intday;intyear;}birthday;}stu1,stu2;numnamebirthdaymonthdayyearstu1.birthda7、y.month=12;五、结构体变量的初始化形式1:struct结构体名{类型标识符成员名;类型标识符成员名;…………….};struct结构体名结构体变量={初始数据};形式2:struct结构体名{类型标识符成员名;类型标识符成员名;…………….}结构体变量={初始数据};形式3:struct{类型标识符成员名;类型标识符成员名;…………….}结构体变量={初始数据};例#includevoidmain(){structstudent{intnum;charname[16];ch8、arsex;struct{intyear;intmonth;intday;}birth;floatscore;}stu1={12,“WangLin”,‘M’,{1988,5,30},97};printf(“%d,%s,%c,%d-%d-%d,%5.2f”,stu1.num,stu1.name,stu1.sex,stu1.birth.year,stu1.birth.month,stu1.birth.day,stu1.score);}六、结构体数组结构体
2、基本类型基础上自己定义的第11章结构体与共用体一、概述(结构体类型的声明)结构体是一种构造数据类型用途:把不同类型的数据组合成一个整体-------自定义数据类型结构体类型定义struct[结构体名]{类型标识符成员名;类型标识符成员名;…………….};成员类型可以是基本型或构造型struct是关键字,不能省略合法标识符可省:无名结构体分号不能省略例structstudent{intnum;charname[20];charsex;intage;floatscore;charaddr[30];};结构
3、体类型定义描述结构的组织形式,不分配内存例如:要想把学生基本情况作为一个整体加以处理,包括学号、姓名、性别、年龄、成绩、住址等,定义结构体类型例structstudent{intnum;charname[20];charsex;intage;floatscore;charaddr[30];};structstudentstu1,stu2;二、定义结构体类型变量的方法1、先声明结构体类型,再定义结构体变量一般形式:定义结构体变量之后为其分配内存单元struct结构体名{类型标识符成员名;类型标识符成员名
4、;…………….};struct结构体名变量名表列;namenumsexagescoreaddr2字节2字节20字节1字节4字节30字节……..stu12、声明结构体类型的同时定义结构体变量一般形式:struct结构体名{类型标识符成员名;类型标识符成员名;…………….}变量名表列;例structstudent{intnum;charname[20];charsex;intage;floatscore;charaddr[30];}stu1,stu2;三、说明结构体类型与结构体变量概念不同类型:不分配内存
5、;变量:分配内存成员可单独使用,相当于使用一般变量结构体可嵌套。成员也可以是一个结构体变量结构体成员名与程序中的变量名可相同,不会混淆例structdate{intmonth;intday;intyear;};structstudent{intnum;charname[20];structdatebirthday;}stu;numnamebirthdaymonthdayyear四、结构体变量的引用引用规则、引用方式、赋值或存储运算、算术运算、引用成员地址例structstudent{intnum;ch
6、arname[20];charsex;intage;floatscore;charaddr[30];}stu1,stu2;stu1.num=10;stu1.score=85.5;stu1.score+=stu2.score;stu1.age++;例structstudent{intnum;charname[20];structdate{intmonth;intday;intyear;}birthday;}stu1,stu2;numnamebirthdaymonthdayyearstu1.birthda
7、y.month=12;五、结构体变量的初始化形式1:struct结构体名{类型标识符成员名;类型标识符成员名;…………….};struct结构体名结构体变量={初始数据};形式2:struct结构体名{类型标识符成员名;类型标识符成员名;…………….}结构体变量={初始数据};形式3:struct{类型标识符成员名;类型标识符成员名;…………….}结构体变量={初始数据};例#includevoidmain(){structstudent{intnum;charname[16];ch
8、arsex;struct{intyear;intmonth;intday;}birth;floatscore;}stu1={12,“WangLin”,‘M’,{1988,5,30},97};printf(“%d,%s,%c,%d-%d-%d,%5.2f”,stu1.num,stu1.name,stu1.sex,stu1.birth.year,stu1.birth.month,stu1.birth.day,stu1.score);}六、结构体数组结构体
此文档下载收益归作者所有