14.5 嵌套结构

有时候,一个结构中含有(或称嵌套)另一个结构是很方便的。例如,Shalala Pirosky建立一个有关她朋友的信息的结构。非常自然地,该结构的一个成员是朋友的名字。然而,名字本身就可以表示成一个结构,其中包含名和姓这两个成员。程序清单14.3是Shalala所做工作的简单示例。

程序清单14.3 friend.c程序

阅读 ‧ 电子书库

广告:个人专属 VPN,独立 IP,无限流量,多机房切换,还可以屏蔽广告和恶意软件,每月最低仅 5 美元

下面是输出:

阅读 ‧ 电子书库

首先,注意在结构声明中是如何创建嵌套结构的。它简单地进行声明,就像声明一个int变量一样:

阅读 ‧ 电子书库

这个声明表示handle是一个struct names类型的变量。当然,文件中也应该包含结构names的声明。

其次,注意如何对嵌套结构的成员进行访问:只需使用两次点运算符:

阅读 ‧ 电子书库

这个语句可以这样从左到右地解释:

阅读 ‧ 电子书库

也就是说,找到fellow,然后找到fellow的成员handle,进而找到handle的成员first。