#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main( int ac, char **av){
int a = 42 , b = 100 ;
printf("a : %d , b : %d \n", a , b);
int *pa = &a;
int *pb = &b;
int tmp = *pa;
*pa = *pb;
*pb = tmp;
printf("a : %d , b : %d\n", a , b);
return 0;
}
a : 42 , b 100
a : 100 , b 42
état de le méoire la la ligne 13 :
on a mit dans les pointeurs *pa et *pb les adresse de a et b
adresse mémoire | data / adresse cible | variable |
---|---|---|
0xab001 | 42 | a |
0xab002 | 100 | b |
0xab003 | 0xab001 | *pa |
0xab004 | 0xab002 | *pb |
état de la mémoir a la ligne 15 :
on a mit dans la varaible tmp la valeur du pointeur *pa
adresse mémoire | data / adresse cible | variable |
---|---|---|
0xab001 | 42 | a |
0xab002 | 100 | b |
0xab003 | 0xab001 | *pa |
0xab004 | 0xab002 | *pb |
0xab005 | 42 | tmp |
état de la mémoir a la ligne 16 :
on a mit la valeur du pointeur *pb dans l'adresse du pointeur *pa
adresse mémoire | data / adresse cible | variable |
---|---|---|
0xab001 | 100 | a |
0xab002 | 100 | b |
0xab003 | 0xab001 | *pa |
0xab004 | 0xab002 | *pb |
0xab005 | 42 | tmp |
état de la mémoir a la ligne 17 :
on a mit la valeur de tmp dans l'adresse du poitneur *pa
adresse mémoire | data / adresse cible | variable |
---|---|---|
0xab001 | 42 | a |
0xab002 | 100 | b |
0xab005 | 0xab001 | *pa |
0xab002 | 0xab002 | *pb |
0xab005 | 42 | tmp |