Par contre, une doc de GCC, citée par mon prof de système, déconseille de retourner des structures avec les fonctions:
Returning structures is complicated and rarely useful
Enfin, pour dès structures très courtes (8 octets ou moins) Je ne sais pas si ça retourne comme une valaur normale (comme TI-GCC et les structures hSym) ou si ça utilise le mécanisme lourd...
PS:
void swap(short *a, short *b)
{
// a = A ; b = B
*a ^= *b;
// a = A xor B ; b = B
*b ^= *a;
// a = A xor B ; b = B xor (A xor B) --> b = A
*a ^= *b;
// a = (A xor B) xor A --> a = B ; b = A
}
(En fait, je trouve que c'est plus compliqué à comprendre que la version avec temp...)
Edit: Cross
Edit2: Corrigé, merci Thepro (Comme quoi, y'a pas qu'aux autres que ça arrive)