*alloc.addrStart = 0xdeadbeef;
Me renvoit l'erreur illegal indirection...
parce que l'operateur * sert a dereferencer un pointeur.
si alloc est un pointeur, *alloc correspond a l'adresse stockee dans alloc
et alloc->addrStart est equivalent a (*alloc).addrStart (les parentheses sont importantes)
si alloc est une variable statique, *alloc ne correspond pas a une adresse memoire, mais a la valeur d'une variable. Donc *alloc.addrStart equivaut a prendre cette valeur comme une adresse memoire (ce qu'elle n'est pas sauf effet de bord) et a regarder ce qu'elle contient, ce qui mene irremediablement a une erreur.
[^] # Re: .
Posté par Anonyme . En réponse au message Pointeurs et structures. Évalué à 2.
parce que l'operateur * sert a dereferencer un pointeur.
si alloc est un pointeur, *alloc correspond a l'adresse stockee dans alloc
et alloc->addrStart est equivalent a (*alloc).addrStart (les parentheses sont importantes)
si alloc est une variable statique, *alloc ne correspond pas a une adresse memoire, mais a la valeur d'une variable. Donc *alloc.addrStart equivaut a prendre cette valeur comme une adresse memoire (ce qu'elle n'est pas sauf effet de bord) et a regarder ce qu'elle contient, ce qui mene irremediablement a une erreur.