Skip to content

Mralexandresys/Efficome-cours-C

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 

Repository files navigation

Cours sur le C et les pointeurs

Switch des donnés de variable

#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;
}

résulta :

    a : 42 , b 100
    a : 100 , b 42

explication

é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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published