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)); }