mardi 13 décembre 2011

le rangement des 4 octets en mémoire

adr_i est un pointeur de type entier; son contenu i vaut 0x12345678. A l'aide d'une conversion de type de pointeur, Ècrire un programme montrant le rangement des 4 octets en mémoire.

 #include <stdio.h>
#include <conio.h>
#include <alloc.h>
void main()
{
char *adr_c;
int *adr_i,i=0x12345678;
adr_i = &i;
adr_c = (char*)adr_i;
printf("ADRESSE: %p CONTENU: %x\n",adr_c,*adr_c);
printf("ADRESSE: %p CONTENU: %x\n",adr_c+1,*(adr_c+1));
printf("ADRESSE: %p CONTENU: %x\n",adr_c+2,*(adr_c+2));
printf("ADRESSE: %p CONTENU: %x\n",adr_c+3,*(adr_c+3));
getch();
}

L'analyse de l'exécution en BORLANC C++, montre que les microprocesseurs INTEL rangent en mémoire d'abord les poids faibles d'une variable.

1 commentaire:

  1. que veut dire i=0x12345678? car i est un type int et pourtant il y a un x

    RépondreSupprimer