Salut ,
J'ai rencontré un truc marrant que je n'arrive pas a expliquer... voici le code :
#include "stdafx.h"
#include "stdio.h"
#include "conio.h"
#define BYTE unsigned char
#define WORD unsigned int
int main()
{
BYTE tmp[2];
WORD *val;
tmp[0] = 1;
tmp[1] = 1;
val=(WORD*)&tmp[0];
printf("%.0f",(double)*val);
getch();
return 0;
}
Quand je compile avec TC++ (sous DOS) j'ai la valeur 257. Rien de bien étonnant me direz vous ....
Essayez avec VC++.... Apparament mon unsigned int est pointé sur 4 Bytes au lieu de 2.... et on à un resultat bizarre > 65535
Quelqu'un peut m'expliquer
Merci d'avance
MisterMok