Passer un nom de membre struct pour fonctionner en C?

Existe-t-il des moyens simples de passer le nom d’un membre de structure à une fonction en C Par exemple si je veux que cela se produise:

(Je sais que le code est incorrect, je viens de l’écrire pour expliquer la question)

struct Test { int x; int y; }; int main() { struct Test t; tx = 5; ty = 10; example(t, ); } void example(struct Test t, ) { printf("%d", t.); } 

Vous n’êtes pas sûr de savoir exactement ce que vous cherchez, mais voici une solution assez proche en utilisant offsetof :

 struct Test { int x; int y; }; void example(void *base, size_t offset) { int *adr; adr = (int*)((char*)base + offset); printf("%d\n", *adr); } int main(int argc, char **argv) { struct Test t; tx = 5; ty = 10; example(&t, offsetof(struct Test, y)); }