结构体中引用另一结构体
结构体引用主要分为自引用和互引用。我主要以实例展示如何使用,不会过多赘述太多,想必也不会仔细看。
1.自引用结构体
1.1不使用typedef时
正确示例:
struct source{
struct source *newsource;
};
错误示例:
struct source{
struct source newsource;
};
2.1使用typedef时
正确示例:
typedef struct source{
struct source *link;
}NODE;
或
struct source;
typedef struct source NODE;
struct source{
NODE *link;
};
或
struct source{
struct source*link;
};
typedef struct source NODE;
错误示例:
typedef struct {
NODE *link;
} NODE;
2.互引用结构体
正确示例:
struct a{
struct b *bp;
};
struct b{
struct a *ap;
};
typedef struct a A;
typedef struct b B;
错误示例:
typedef struct A{
B *bp;
} A;
typedef struct B{
A *ap;
} B;