在C中引用结构变量

时间:2015-03-18 09:24:21

标签: c structure operator-precedence

我有两个像这样的结构

typedef struct foo_ {
int id;
int var1;
int var2; 
} foo_t;

typedef struct bar_ {
int member1;
int member2;
foo_t an_array[10]; 
} bar_t;

我有一个指向结构bar_的指针bar_t *ptr

现在我需要访问id

中的foo

我将其视为ptr->an_array[index].id 因为它是一个整数,所以不会有任何问题。 但是如何通过引用传递变量id

&ptr->an_array[index].id似乎不起作用 &ptr->(an_array[index].id)

也不是

我经历了优先顺序,但仍无法使其正常工作。

有人可以帮我解决这个问题吗

1 个答案:

答案 0 :(得分:1)

再次检查您的代码 - &ptr->an_array[index].id应该可以正常工作。后缀运算符(->[].)绑定比&更紧密,因此应该没有问题。也许您的原始代码中还有另一个问题?