有没有一种简单的方法在C语言中将结构体成员的名称传递给函数?比如,如果我想实现这个功能:
(我知道这段代码是错误的,我只是写了它来解释问题)
(我知道这段代码是错误的,我只是写了它来解释问题)
struct Test
{
int x;
int y;
};
int main()
{
struct Test t;
t.x = 5;
t.y = 10;
example(t, <MEMBER NAME>);
}
void example(struct Test t, <MEMBER NAME>)
{
printf("%d", t.<MEMBER NAME>);
}
#define example(x, member) printf("%d\n", x.member)
。但这意味着你失去了类型安全性(和其他一些东西)。 - neoaggelos