嵌套結構基本上是一個結構內的結構。在你的例子中,struct time
是struct date
的成員。 訪問結構成員的邏輯將保持不變。即您訪問struct date
的會員day
的方式。
但在這裏您需要創建struct time
的結構變量才能訪問其成員。
如果您想訪問嵌套結構的成員,然後它看起來像,
dp->time.sec // dp is a ptr to a struct date
d.time.sec // d is structure variable of struct date
您可以檢查下面的代碼,
#include<stdio.h>
struct date
{
struct time
{
int sec;
int min;
int hrs;
}time;
int day;
int month;
int year;
};
int main(void)
{
struct date d = {1,2,3,4,5,6}, *dp;
dp = &d;
printf(" sec=%d\n min=%d\n hrs=%d\n day=%d\n month=%d\n year=%d\n",dp->time.sec, dp->time.min, dp->time.hrs, dp->day, dp->month, dp->year);
}
輸出:
sec=1
min=2
hrs=3
day=4
month=5
year=6
你打算在'struct date'中有'struct time'類型的成員?如果是這樣,你沒有命名它,你寫的東西不能編譯。 – e0k