ساختار تو در تو (Nested Structures)
«ساختار تو در تو (Nested Structure)» یعنی یک «ساختار (Structure)» داخل ساختار دیگر باشد. این کار داده های مرتبط را لایه ای مرتب می کند؛ مثل پرونده ی دانش آموز و پوشه ی «ولی دانش آموز» داخل آن.
ایده اصلی: ساختار داخل ساختار
با قرار دادن یک struct به عنوان عضوِ ساختار دیگر، مجموعه داده ها منظم می شود.
#include <stdio.h>
struct Owner {
char firstName[30];
char lastName[30];
};
struct Car {
char brand[30];
int year;
struct Owner owner;
};
int main() {
struct Owner person = { "John", "Doe" };
struct Car car1 = { "Toyota", 2010, person };
printf("Car: %s (%d)\n", car1.brand, car1.year);
printf("Owner: %s %s\n", car1.owner.firstName, car1.owner.lastName);
return 0;
}
گام های عملی
- ساختار والد را تعریف کن.
- ساختار فرزند را تعریف کن.
- عضوِ از نوع ساختار فرزند را داخل والد بگذار.
- نمونه ها را مقداردهی و چاپ کن.
نکته های مهم
- ترتیب مقدارها باید مطابق تعریف اعضا باشد.
- برای رشته ها از آرایه کاراکتر استفاده کن.
نکته: برای مرور مفهوم «ساختار تو در تو»، این صفحه مرجع خوبی است. همچنین مبحث پایه ای ساختارها را ببین و بعد به اشاره گرها در ساختار برو.
جمع بندی سریع
- ساختار تو در تو، لایه بندی داده است.
- عضو می تواند خودش یک ساختار باشد.
- مقداردهی باید با ترتیب درست انجام شود.
- چاپ اعضای تو در تو با نقطه زنجیره ای است.