一、结构体类型的定义
结构体是一种新数据类型,属构造类型,它由若干类型各异的“成员”组成;描述这些“成员”可以使用任何基本数据类型,甚至是另外一种构造数据类型都行。
其实,从本书开篇,就在定义变量,下边的语句我们已经习以为常了:
int i;
我们用整数类型去定义了一个变量 i ,之所以能这样,是因为 int 类型是基本类型, C 语言系统已经定义好了的。而结构类型是程序员自己定义的,是对 C 语言基本数据类型的扩充,可以理解为是程序员发明的,所以“要定义结构类型的变量,必须先定义结构类型本身”就顺理成章了。
区别结构体名、结构变量名,掌握通过结构变量访问其成员的方法是学好本章的关键。
打个比方,我们定义一种结构类型( person )描述青年,青年由几个基本属性(即成员)决定( name , color , sex , age 等),显然描述这些属性只需要用到基本数据类型就够了。我们可以用这个结构类型 person 去定义一个具体的青年人 zhangshan , zhangshan 则称为结构变量名。如果有 100 个青年人组成了班,那么我们可以把他们定义为一个数组 class_one[100] ,该数组称为结构数组。
每一种具有不同成员的结构体就是一个新的数据类型,所以,在说明和使用结构体之前必须作结构类型的定义。定义结构类型使用关键字“ struct ”。
下边几行定义结构类型 person ,并用该类型定义结构变量 zhangshan 和结构数组 class_one[100] :
现在,再定义一个商品结构类型 good