Académique Documents
Professionnel Documents
Culture Documents
Tableaux et chanes
COMPLEMENT C :
Prof. A. EL FAKER
ENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Structures de donnes
Leon n 1 Introduction et vue densemble n. 3 Complment C : Tableaux et chanes
Plan de la leon
Tableaux Tableaux et pointeurs Chanes de caractres
Prof. A. EL FAKER
ENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Structures de donnes
Leon n 1 Introduction et vue densemble n. 3 Complment C : Tableaux et chanes
TABLEAUX
Prof. A. EL FAKER
ENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Structures de donnes
Leon n 1 Introduction et vue densemble n. 3 Complment C : Tableaux et chanes
Introduction
Un tableau est une suite de valeurs de mme type
14.5 12.0 0 1 15 2 13.5 3 17 4 11.5 16.5 13.5 17.5 5 6 7 8
Structures de donnes
Leon n 1 Introduction et vue densemble n. 3 Complment C : Tableaux et chanes
Dfinition
<type> nom[ <taille> ]; Rservation mmoire par le compilateur Valeurs ranges conscutivement en mmoire
Prof. A. EL FAKER
ENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Structures de donnes
Leon n 1 Introduction et vue densemble n. 3 Complment C : Tableaux et chanes
Structures de donnes
Leon n 1 Introduction et vue densemble n. 3 Complment C : Tableaux et chanes
sizeof (t)
Prof. A. EL FAKER
Structures de donnes
Leon n 1 Introduction et vue densemble n. 3 Complment C : Tableaux et chanes
Structures de donnes
Leon n 1 Introduction et vue densemble n. 3 Complment C : Tableaux et chanes
TABLEAUX ET POINTEURS
Prof. A. EL FAKER
ENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Structures de donnes
Leon n 1 Introduction et vue densemble n. 3 Complment C : Tableaux et chanes
Pointeur
Cest une variable dont la valeur est l'adresse d'une structure de donnes
NULL est une valeur spciale spciale de pointeur qui ne reprsente reprsente aucune adresse
Structures de donnes
Leon n 1 Introduction et vue densemble n. 3 Complment C : Tableaux et chanes
Pointeur
Dclaration
int *p;
p un pointeur dentier: de type int * Pas dallocation de lobjet point mais du pointeur
??
ENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Prof. A. EL FAKER
Structures de donnes
Leon n 1 Introduction et vue densemble n. 3 Complment C : Tableaux et chanes
Pointeur
Oprateur dadressage
Extraire ladresse dun objet quelconque
x est un objet adressable
p @
Prof. A. EL FAKER
@
ENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Structures de donnes
Leon n 1 Introduction et vue densemble n. 3 Complment C : Tableaux et chanes
Pointeur
Oprateur dindirection
Appliqu aux expressions de type pointeur de
Structures de donnes
Leon n 1 Introduction et vue densemble n. 3 Complment C : Tableaux et chanes
Calculs de pointeurs
Somme dun pointeur et dun entier
p+1
p+2
addr(p+i)==addr(p)+i*sizeof(T)
Prof. A. EL FAKER
ENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Structures de donnes
Leon n 1 Introduction et vue densemble n. 3 Complment C : Tableaux et chanes
Calculs de pointeurs
Comparaison de pointeurs de mme type p==q ssi
addr(p) == addr(q)
p
Prof. A. EL FAKER
q
ENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Structures de donnes
Leon n 1 Introduction et vue densemble n. 3 Complment C : Tableaux et chanes
Calculs de pointeurs
Soustraction de pointeurs de mme type
p - q est lentier i tel que p+i=q
p
Prof. A. EL FAKER
p-q
Structures de donnes
Leon n 1 Introduction et vue densemble n. 3 Complment C : Tableaux et chanes
Calculs de pointeurs
Affectation dun pointeur
Par un entier
// //
Structures de donnes
Leon n 1 Introduction et vue densemble n. 3 Complment C : Tableaux et chanes
Tableaux et pointeurs
Un tableau est assimil un pointeur sur le dbut int t[6];
t
Prof. A. EL FAKER
ENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Structures de donnes
Leon n 1 Introduction et vue densemble n. 3 Complment C : Tableaux et chanes
Tableaux et pointeurs
t est un pointeur sur le premier lment
Prof. A. EL FAKER
ENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Structures de donnes
Leon n 1 Introduction et vue densemble n. 3 Complment C : Tableaux et chanes
Tableaux et pointeurs
t est un pointeur constant int t[6]; // incorrect t++; Gnralement lcriture e[e] est interprte comme *(e+e)
Prof. A. EL FAKER
ENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Structures de donnes
Leon n 1 Introduction et vue densemble n. 3 Complment C : Tableaux et chanes
Exemple
Plus petite valeur dune suite de nombres lus et rangs dans un tableau
Structures de donnes
Leon n 1 Introduction et vue densemble n. 3 Complment C : Tableaux et chanes
CHANES DE CARACTRES
Prof. A. EL FAKER
ENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Structures de donnes
Leon n 1 Introduction et vue densemble n. 3 Complment C : Tableaux et chanes
Dfinition
Tableau de caractres termin par \0
char ch[ ] = "tout"; char *pc = &ch; //parasitage
ch
Prof. A. EL FAKER
t t
o o
u u
t t
\0 \0
Structures de donnes
Leon n 1 Introduction et vue densemble n. 3 Complment C : Tableaux et chanes
Chane littrale
Un tableau anonyme de caractres de classe statique char *p= "MONTRE"; //correcte "MONTRE"; "MONTRE" est convertit en pointeur vers M qui affecte la valeur de p
Prof. A. EL FAKER
ENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Structures de donnes
Leon n 1 Introduction et vue densemble n. 3 Complment C : Tableaux et chanes
Entres/sorties de chanes
char *gets(char *)
Remplace \n par \0 Suppose que lallocation est dj faite Retourne NULL si erreur
scanf("%s",chaine)
Sarrte au premier ESPACE
Prof. A. EL FAKER
ENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Structures de donnes
Leon n 1 Introduction et vue densemble n. 3 Complment C : Tableaux et chanes
Entres/sorties de chanes
puts(chaine)
est quivalente
printf("%s\n", chaine)
Prof. A. EL FAKER
ENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Structures de donnes
Leon n 1 Introduction et vue densemble n. 3 Complment C : Tableaux et chanes
Prof. A. EL FAKER
ENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Structures de donnes
Leon n 1 Introduction et vue densemble n. 3 Complment C : Tableaux et chanes
Structures de donnes
Leon n 1 Introduction et vue densemble n. 3 Complment C : Tableaux et chanes
Structures de donnes
Leon n 1 Introduction et vue densemble n. 3 Complment C : Tableaux et chanes