Struct成员指向另一个struct成员

时间:2015-01-13 09:47:13

标签: c pointers struct

结构成员是否有可能指向来自不同结构的另一个成员? 我想做像参考表这样的事情。

struct a {
    int a;
    int b;
};

struct b {
    * struct a.b;
};

猜测这是不可能的,因为没有分配内存,但我愿意接受建议。

1 个答案:

答案 0 :(得分:2)

当然,只需使用指针

struct b 
{
    int* p ; //or an array of pointers if you need a table
} ;

struct a sa = { 1 , 2 } ;
struct b sb = { &sa.a } ;

printf("%d\n" , sb.p ) ;

sb.p = &sa.b ;    
printf("%d\n" , sb.p ) ;