Bonjour, j'aimerai comprendre dans le code suivant à la ligne 4 quand ont fais les décalages, par exemple
(nTmp & 0xFF) << 8) est-ce que l'on travail toujours sur la variable nTmp à son adresse ou bien (nTmp & 0xFF) se trouve tel à un autre endroit de la mémoire même si cela me semble improbable car sa obligerai le compilateur à alloué implicitement de la mémoire à un autre endroit.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
uint8_t *pPtr = malloc(sizeof(uint8_t)*2);
pPtr[0] = 0; pPtr[1] = 1;
uint32_t  nTmp = *(uint16_t *)pPtr;
nTmp = (((nTmp & 0xFF) << 8) | ((nTmp & 0xFF00) >> 8));