(Courriels de diversion: <vassaliserait@supplie-lezardait.com> <inexplore@exorde-readaptez.com> <regurgiter@comptabiliseront-excuse.com> <dilapidais@nageuses-remontrances.com> <etiolerait@redigeaient-dechaînerons.com> <toxines@basiques-encadrement.com> <mutante@rivaliserai-superficies.com> <minutent@editoriaux-dessinera.com> <redactionnel@pote-centres.com> <assainiront@magazines-urger.com> )


> Le programme renvois aussi 12 alors qu'il devrait renvoyer 3*2+4=10 !!!!

> Pourquoi ?????

> Jerome

Ton ami utilise un PC avec un une architecture 32 bits (logique depuis le 386), dans ce cas le bus de donnée se compose de 4 octets, il devient alors assez difficile dans le cas déclarations de stuctures de travailler avec des tailles de structures qui ne soient pas des multiples de 4, car comment utiliser correctement les deux 16 des 32 bits stockées à une adresse mémoire??? L'utilisation d'un masque ou une autres biduoille du genre n'est pas vraiment pratique à mettre en place de façon automatique avec un compilateur, celui ci préfère ne pas utilisez les 16 derniers bits, mais les comptes quand même dans la taille de la structures car car celle ci occupe 3 cases mémoires soit 4octets * 3 = 12 octets.

Une autre raison de pas utilisés les bits de libres à la fin d'une structure, est lors de leurs utilisation en tableau, car si tu tiens à utiliser les quelques bits de libres, tu induit un décalage dans le tableau, et il n'y plus aucun moyen de calculer simplement l'emplacement d'un élément de la structure.

Pierre CASTELLA

Þ	BÓzË«•ê.y·¡¶ÚþƯj¢ºÖåj	Úqúÿ