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 : Sélectionner tout - Visualiser dans une fenêtre à part
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