结构成员是否有可能指向来自不同结构的另一个成员? 我想做像参考表这样的事情。
struct a {
int a;
int b;
};
struct b {
* struct a.b;
};
猜测这是不可能的,因为没有分配内存,但我愿意接受建议。
答案 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 ) ;