双重嵌套结构体嵌套的调用

妖精的绣舞 提交于 2020-02-07 07:55:02

具体如下:

typedef struct Student
{
        char name[10];  
}Stu;
typedef struct Qlist
{
        Stu p_1;        //情况一

        Stu* p_2;       //情况二
}Qlist;

void print(Stu *ps)
{
        printf("%s\n", ps->name);
}
int main()
{
        Qlist* s = (Qlist*)malloc(sizeof(Qlist));      //需要创建一个Qlist结构体类型的空间
        s->p_2 = (Stu*)malloc(sizeof(Stu));           //如果 情况一 则不写, 情况二需创建一个Stu结构体类型的空间        

        scanf("%s", &s->p_1.name);
        print("%s\n",&s-p1.name);                  // 一
       
        scanf("%s", &s->p_2->name);
        printf("%s\n", &s->p2->name);              // 二

        return 0;
}

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!