结构成员指向另一个结构成员

Struct member point at another struct member

结构成员是否可以指向不同结构的另一个成员? 我想做一些参考 table.

struct a {
    int a;
    int b;
};

struct b {
    * struct a.b;
};

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

当然可以,只需要使用一个指针

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 ) ;