2016-11-21 100 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

相关问题