結構成員可包含另一結構,Turbo C 允許任意層級嵌套。外層結構引用的內層結構名必須預先聲明。
// 內層結構先聲明
struct addr {
char city[20];
unsigned long zipcode;
char tel[14];
};
// 外層結構引用
struct string {
char name[8];
int age;
struct addr address; // 嵌套結構成員
} student;
從最外層到最內層逐級列出成員名:
student.address.zipcode = 200001; // 賦值
printf("%s", student.address.city); // 讀取
通用表達式:結構變量名.嵌套結構變量名.成員名,嵌套層數不限,最內層成員必須為非結構類型。
嵌套結構體自然映射現實世界「整體-部分」層級關係(如學生-地址、訂單-商品-規格),是構建複雜數據模型的基石。