Structure et adresse mémoire
Bonjour,
J'ai une petite question sur la manière dont sont stockées les structures en mémoire par rapport aux éléments qui l'a compose.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
struct foo
{
int a;
int b;
int c;
}
void func(int* value)
{
...
}
int main(void)
{
struct foo toto;
func(&foo.X);
} |
Dans la fonction "func", si le parametre envoyé X vaut :
- a : alors a et toto, ont la même adresse.
- c : alors adresse de c - sizeof(struct foo) correspond à l'adresse de la structure.
Est-il possible de retrouver l'adresse de la structure dans la fonction func, si le paramétré passé est 'b' ?
Sachant qu'on peut récupérer la taille de la structure avec une sizeof mais qu'on ne connait pas forcement sont contenus.
merci