如何在另一个结构中定义结构变量?

时间:2015-06-08 07:53:04

标签: c struct

我有2个结构定义如下:

typedef struct
{   
    char book_name[20] ;
    int book_id ;
    char author[20] ;
    char book_status[20];
}stlib ;

typedef struct
{
    char employee_name[20];
    int employee_id;
    char employee_dept[20];
    char emp_book_status[20];   
}stemp ;

如何在指向另一个结构的结构中定义变量?这是正确的方法吗?

typedef struct
{   
    char book_name[20] ;
    int book_id ;
    char author[20] ;
    char book_status[20];   
}stlib ;

typedef struct
{
    char employee_name[20];
    int employee_id;
    char employee_dept[20];
    char emp_book_status[20];       
    struct stlib st; // is this correct ?
}stemp ;

1 个答案:

答案 0 :(得分:4)

在您的情况下,正如我们所看到的,stlib是未命名结构的typedef,而stlib的定义出现在stemp之前,您需要改变

 struct stlib st; // is this correct ?

stlib st; // this is correct
在<{1}}定义中

,你很高兴。

但是,如果在指向的结构中<&34> 到另一个结构&#34;,你的意思是指针,那么你需要定义{{ 1}}作为指针,这就是全部。