BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 15 oct. 2005 à 12:53
La question est bien pourquoi il faut '&s' en param et non 's' ?
's' est défini par le compilo par exemple en '[esp+16]', offset fixe sur stack, on peut donc accéder à ses membres par un offset ajouté à ce #define, exemple s.wMonth sera [esp+16+2].
En cas de passage à une fonction cette adresse se trouverait invalide car on aura déjà PUSHé 3 params:
en pseudo code:
push NULL
push &octetsEcrits
push sizeof(SYSTEMTIME)
s serait donc erroné de 12 octets, voila pourquoi le C introduit l'opérateur '&' qui indique l'adresse réelle à donner en param.