구조체 멤버의 이름을 C의 함수에 전달하는 간단한 방법이 있습니까? 내가 만들고 싶어 예를 들어 이런 일이 :구조체 멤버 NAME을 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>);
}
당신은 구성원 [오프셋] (http://man7.org/linux/man-pages/man3/offsetof.3.html)를 사용할 수는 있지만 이름. – user2357112
개념적으로 http://stackoverflow.com/q/13653024/2564301과 동일, 맞습니까? – usr2564301
함수 대신 매크로를 사용할 수 있습니다. 이것은 좀 더 복잡한 함수를 위해 이상하게 빠르게 나타날 수 있지만 필요에 따라'#define example (x, member) printf ("% d \ n", x.member)'를 수행 할 수 있습니다. 그러나 이것은 타입 안전성 (그리고 다른 어떤 것들)을 잃는다는 것을 의미합니다. – neoaggelos