IN3R11-2 – C - Cours 3

IN3R11-2 – C - Cours 3

-

Documents
22 pages
Lire
Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres

Description

IN3R11-2 { CCours 3Damien MASSONd.masson@esiee.frhttp://esiee.fr/ massond/Teaching/IN3R11-2/~23 novembre 2010Le retour des pointeurspointeur = adresse memoire + typetype* nom; nom pointe sur une zone memoire correspondantau type donnele type peut ^etre quelconquevaleur speciale NULL equivalente a 0pointeur generique : void* nom;l’operateur & donne l’adresse d’une variable&*t == t puisque de la variable pointee par t... est t#include int main( int argc , char argv [])fint i ;int t = &i ;printf ("%d\n",&t==t) ;/ 1 /g2/22Passage par adressevoid swap(int a, int b) void swap(int a, int b)f fint tmp = a; int tmp = a;a = b; a = b;b = tmp; b = tmp;g gint main( int argc , char argv) int main( int argc , char argv)f fint a = 5,b = 10; int a = 5,b = 10;swapt(a,b) ; swapt(&a,&b) ;printf ("a = %d, b = %d" ,a,b) ; printf ("a = %d, b = %d" ,a,b) ;/ a = 5, b = 10 / / a = 10, b = 5 /g g3/22Arithmetique des pointeursint* t on peut voir t comme un tableau d’int : *t = t[0]l’addition et la soustraction se font en fonction de la taille deselements du tableaudouble t [10];printf ("%d\n" ,t+2==(void)t+2sizeof (double)) ; / 1 /printf ("%d\n" ,(t+8)==t [8]) ; / 1 /l’operateur ++ fonctionne sur les pointeurs :int tab[]=f1 ,2g;int t = tab ;printf ("%d\n" ,t [0]) ; / 1 /t++;printf ("%d\n" ,t [0]) ; / 2 /4/22Structures et pointeursune structure (resp une union ou une enum) peut avoir ...

Sujets

Informations

Publié par
Ajouté le 24 septembre 2011
Nombre de lectures 26
Langue Français
Signaler un problème
IN3R11-2 – C
Cours 3
Damien MASSON d.masson@esiee.fr
http://esiee.fr/~massond/Teaching/IN3R11-2/
23 novembre 2010