按照上面的示例,你可以按如下方式声明关联的结构:
请注意,上面的语句形成了名为servicePeople的结构的数据声明,但没有定义结构变量。结构的一般语法为:
该语法如图10-1所示。
图10-1 结构声明语法
声明以关键字struct作为数据类型说明符开始,后跟名称或结构的结构标记。结构标记标识正在声明的结构。结构标识符遵循与C变量相同的命名规则。结构标识符后面跟着大括号,大括号包围着一个或多个变量,这些变量统称为结构的成员。在上面的示例中,结构标识符是servicePeople,它有四个成员,分别存储在ID、Name、PW和Phone中。
servicePeople的结构是一个模板或cookie cuter,你可以从中创建servicePeople数据对象。换句话说,此时servicePeople是一个数据声明,尚未为单个servicePeople变量分配内存。
显然,你需要使用这种类型的结构来定义一个变量,以便该结构在程序中有用。语法是:
struct structureTag structureVariable;
要定义结构变量,请使用:
struct servicePeople myServicePeople;
图10-2显示了结构定义。现在有了一个名为myServicePeople的结构变量,可以在程序中使用。
图10-2 结构的定义
定义结构的另一种方法是:
struct servicePeople{(www.xing528.com)
int ID;
char Name[20];
char PW[10];
long Phone;
}myServicePeople;
在本例中,myServicePeople的定义紧跟在结构声明之后,但位于单个语句中。也可以定义不带结构标识符的结构变量,如下所示:
struct{
int ID;
char Name[20];
char PW[10];
long Phone;
}myServicePeople,yourServicePeople;
请注意,虽然缺少结构标识符(servicePeople),但这对编译器来说不是问题,因为数据声明和数据定义被合并到一个语句中。在这个例子中,代码定义了两个分开的结构变量myServicePeople和yourServicePeople,用逗号隔开。但是,后一种形式使用较少,因为你可能需要定义另一个结构位于程序中的某个地方,并且不会有可用的释义。
如果你为15家不同的公司提供服务,那么你可以创建一系列结构,如下所示:
struct servicePeople myServicePeople[15];
如你所知,数组是共享完全相同的数据属性的数据分组。然而,结构允许你的数组在其成员列表中包含许多不同类型的数据,从而创建更复杂的数据结构。也就是说,结构允许你创建“成人数组”。实际上,结构类似于面向对象编程概念。不过,你会发现,结构确实提供了一种方便的方式来组织不同的对象数据。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。