2016-11-21 101 views
-1

請檢查下面給出的代碼片段。如果語法或其他任何內容出錯,請原諒我。我是一個嘗試詳細學習結構用法的新手,偶然遇到以下示例。我只是想知道如何從Class_Details另一種結構內的結構用法

typedef struct { 
int age; 
int RollNo; 
int Rank; 
char Name[10]; 
}TypeStudent; 

typedef struct { 
char class_name[20]; 
TypeStudent Students[20]; 
}TypeClass; 

const TypeStudent Stu_Details[] = { 
{ 3, 1, 18, "Mahesh"}, 
{ 3, 1, 7, "Kumar"} 
}; 

const TypeClass Class_Details[]= { 
{ "Class 10",  Stu_Details}, //two students details 
{ "Class 8",    0} //no student details attached 
}; 
+0

編譯器是檢查程序語法的首選方法。你實際上並沒有訪問任何東西,只嘗試初始化它。你的確切*問題是什麼? – StoryTeller

+0

Class_Details [0] .Stu_details [0] .Name,Class_Details [0] .Stu_details [0] .RollNo etc .. –

回答

-1

對我來說這一個工作。

typedef struct { 
    int age; 
    int RollNo; 
    int Rank; 
    char Name[10]; 
}TypeStudent; 

typedef struct { 
    char class_name[20]; 
    TypeStudent *Students; 
}TypeClass; 

int main() 
{ 

    const TypeStudent Stu_Details[] = { 
    { 3, 1, 18, "Mahesh"}, 
    { 3, 1, 7, "Kumar"} 
    }; 

    const TypeClass Class_Details[]= { 
    { "Class 10",  Stu_Details}, //two students details 
    { "Class 8",    0} //no student details attached 
    }; 

    printf("\r\nTest: %s",Class_Details[0].Students->Name); 
    return 0; 
} 
-1
Class_Details[0].Students[0].Name 

用於爲例訪問Stu_Details將 「馬赫什」

+0

成員變量的名稱是'Students',而不是'Stu_details',所以正確的是'Class_Details [0]。學生[0] .Name'。 – mch

+0

對!我修好了它 – Glick

相關問題