欢迎来到天天文库
浏览记录
ID:50320863
大小:1.13 MB
页数:97页
时间:2020-03-08
《C语言程序设计教程 教学课件 作者 葛素娟第十章 结构体与共用体.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第十章结构体与共用体一、结构体的概念二、结构体类型的定义三、结构体变量的定义四、结构体变量的引用五、结构体变量的初始化六、结构体数组七、指向结构体类型数据的指针八、用指针处理链表九、共用体十、枚举类型十一、用typedef定义类型十二、电动车电池管理程序之一一、结构体的概念在C语言中,一组相同类型的数据,用数组来表示,如图如示。若有如下的一组信息,它们之间的数据类型虽然不同,却存在着内在的联系。那么,这组数据应当用什么数据类型来存储呢?在C语言中,引入用户自定义数据类型,可以为程序设计者构造新的数据类型,这种
2、新的数据类型可以存放一组有联系的数据。这种自己创造的数据类型,称结构体。二、结构体类型的定义结构体类型定义的一般形式是:struct结构体名{成员类型成员名1;成员类型成员名2;成员类型成员名3;…成员类型成员名n;};例如:创造一个结构体类型,能够存储如下所示数据。structbirthday{intyear;intmonth;intday;};说明:structbirthday是新创造的结构体类型,它是类型名。bitthday是结构体名。year、month、day都是成员名,它们的成员类型都是int型。
3、结构体名和成员名的命名规则遵循C语言标识符的命名规则。注意:在花括号外必须有分号。再如:创造一个结构体类型,能够存储如下所示的数据。structstudent{intnumber;charname[9];charsex[3];inthight;intweight;structbirthdaydate_of_birth;charphone[12];charaddress[30];};说明:structstudent是新创造的结构体类型,它是类型名。student是结构体名。number、hight、weight
4、都是成员名,它们的成员类型都是int型;name、sex、phone、address都是成员名,它们的成员类型都是字符型且是字符数组;date_of_birth是成员名它的成员类型是structbitrhday类型。成员也可以是一个结构体。三、结构体变量的定义结构体类型仅是用户创造的数据类型,系统对它并不分配实际存储单元,只有定义结构体类型的变量,才能在结构体变量中存储具体的数据。结构体变量的定义有三种方法:1、先定义结构体类型,再定义结构体变量struct结构体名{成员类型成员名1;成员类型成员名2;成员类
5、型成员名3;…成员类型成员名n;};struct结构体名变量名表列;例如:structstudent//定义结构体类型{intnumber;charname[9];charsex[3];inthight;intweight;structbirthdaydate_of_birth;charphone[12];charaddress[30];};structstudentstu1,stu2,stu3;//定义结构体变量stu1,stu2,stu3说明:在定义结构体变量时,一定要指定为某一特定的结构体类型(如str
6、uctstudent类型)。因为可以定义出许许多多种具体的结构体类型。而在定义变量为整型时,只需指定为int型即可。2、定义结构体类型的同时定义结构体变量structstudent{intnumber;charname[9];charsex[3];inthight;intweight;structbirthdaydate_of_birth;charphone[12];charaddress[30];}stu1,stu2,stu3;//在花括号外没有分号3、定义无名结构体类型的同时定义结构体变量struct//
7、没有结构体名{intnumber;charname[9];charsex[3];inthight;intweight;structbirthdaydate_of_birth;charphone[12];charaddress[30];}stu1,stu2,stu3;//缺点是以后不能再使用这种结构体类型定义结构体变量四、结构体变量的引用引用结构体变量中成员的方式为:结构体变量名·成员名其中:“·”是成员运算符。例10.1用structstudent结构体类型,存储图10-2中的学生信息。(1)逐个对结构体变量
8、的成员赋值#include#includevoidmain(){structbirthday{intyear;intmonth;intday;};structstudent{intnumber;charname[9];charsex[3];inthight;intweight;structbirthdaydate_of_birth;charphone[12];c
此文档下载收益归作者所有