通过指向第一个结构的指针初始化结构中的结构

时间:2014-03-17 12:57:43

标签: c

基本上,我想从stu_data创建指向对象的指针,然后初始化其中的所有变量(包括clg_data结构中的变量)。问题是我不知道如何访问 带指针的第二个结构。 我有一个例子尝试来执行此操作(在void main()中)。

typedef struct {
    int college_id;
    char college_name[50];
} clg_data;

typedef struct {
    int id;
    char name[20];
    float percentage;
    // structure within structure
    clg_data clg_data;
} stu_data;
stu_data *p;

void main()
{
    stu_data STU1;
    p = &STU1;  
    p->clg_data->college_id = 3; //STU1.clg_data.college_id = 3;  that's basically what I'm trying to achieve here with p.
}

1 个答案:

答案 0 :(得分:2)

p->clg_data不是指针。使用.访问其成员

    p->clg_data.college_id = 3;