总体要求:
掌握结构体的概念;
掌握结构体成员的引用;
学会使用typedef声明数据类型的别名。
学****重点:
结构体的概念;
结构体成员的引用。
结构体概念的引入
(为什么需要结构体?)
已经学****过的数据类型:
整形、实型、字符型 ,另外还有数组。
问题:
以上数据类型和数组是否完全满足编程需要?
(例如:如何定义一个工人变量?)
工人包含有多个属性,比如姓名、性别、年龄、工号、工资等等,我们无法简单的用某一种数据类型或者数组来实现 。
解决方法:
C语言中引入了一种新的数据结构,称为“结构体”。
它可以把若干个有内在联系的数据组合在一起,形成
一个有机整体。
通过结构体,我们就可以方便的来描述工人,它由若干数据项组成,包括:
姓名(name):字符串
性别(sex):字符型
年龄(age):整型
工号(number):整型
工资(salary):实型
上述五个数据项组成了工人的整体,这就是一个结构体类型的数据,我们可以给这个数据命名为worker,只要是worker类型的数据,都包括这五个数据项。
结构体类型的说明
结构体类型是包含若干个相同或不同数据类型数据项的集合,我们把这些数据项称之为结构体成员,声明结构体类型的一般形式为:
struct 结构体标识名
{
数据类型名1 结构体成员名表1;
数据类型名2 结构体成员名表2;
.....
数据类型名n 结构体成员名表n;
};
说明:
(1) 句首struct是关键字,是声明结构体类型的标识符。“结构体标识名”定义的是结构体的名字,它是可选项,可以不出现;“结构体成员名表”由多个成员名组成,彼此之间用分号隔开,两者都要符合标识符的命名规则。
(2) 结构体中定义的所有成员都用大括号括起来,成员名可以与程序中其他变量相同。
(3) 结构体中的“数据类型名”可以是基本类型,也可以是构造类型(如数组),还可以是已经定义的其他结构体类型。
(4) 结构体类型的定义只是创建了一种模式,表示该结构体的组成情况。结构体定义结束后,系统并没有为该结构体分配相应的空间;只有在我们使用这种结构体进行定义变量后,系统才为结构体变量分配存储空间。
C语言程序设计与数据结构结构体与共用体 来自淘豆网www.taodocs.com转载请标明出处.