Tableau statique
Ferdinand KAHENGA
École Supérieure d'Informatique SALAMA
Aoút 2023
Ferdinand KAHENGA Tableau statique
Dénition
Déclaration et initialisation d'un tableau
1 Déclarer un tableau
2 Initialiser un tableau
3 Accéder aux éléments d'un tableau
4 Le terme sizeof
Tableau et Boucles
1 Parcours d'un tableau avec une boucle
2 Branchements inconditionnels
1 break
2 continue
Ferdinand KAHENGA Tableau statique
Introduction
A partir des types prédénis du C
(int,char,short,double,oat,...), on peut créer des
nouveaux types, appelés types composés, qui
permettent de représenter des ensembles de donnés
organisés.
Ferdinand KAHENGA Tableau statique
Dénition
Un tableau est un ensemble ni d'éléments de même
type, stockés en mémoire à des adresses contiguës
Ferdinand KAHENGA Tableau statique
Exemple
Supposons que nous ayons besoin de stocker 10
notes des étudiants de G3.
Nous allons créer un tableau des notes qui doit
avoir une capacité de 10 cases
Chaque élément est placé dans une case qui est
répertoriée grâce à son indice.
Exemple
Ferdinand KAHENGA Tableau statique
Exemple
Ne jamais confondre indice et élément.
Ferdinand KAHENGA Tableau statique
Déclaration
Ferdinand KAHENGA Tableau statique
Initialisation
Attention
Le premier élément d'un tableau C est toujours à
l'indice 0 et le dernier à l'indice taille-1.
Ferdinand KAHENGA Tableau statique
Initialisation chaîne des caractères
Ferdinand KAHENGA Tableau statique
Accès
Pour accéder aux éléments d'un tableau, ce
dernier doit exister et doit avoir été initialisé.
Donner le nom du tableau et l'indice de la case
de l'élément recherché entre crochets.
Exemple Accès
Ferdinand KAHENGA Tableau statique
Attention : Dépassement Taille
Ne jamais chercher un élément à
l'indice>=Taille
Ferdinand KAHENGA Tableau statique
Mémoire et variable C
La fonction sizeof retourne la taille en octets
qu'occupe une variable d'un type donné.
Cette valeur dépend de l'architecture matérielle
du système sur lequel le programme s'exécute.
Ainsi, int peut diéremment être codé sur 4 ou
2 octets selon le critère précédent.
sizeof(int) → 4 sur ma machine.
Ferdinand KAHENGA Tableau statique
Convention
Dans ce cours, de façon générale nous allons
considérer :
char → 1 octet
short → 2 octets
int → 4 octets
oat → 4 octets
long → 8 octets
double → 8 octets
Ferdinand KAHENGA Tableau statique
Sizeof et types complexes
Pour les types complexes comme le tableau,
sizeof(typeComplexe) retourne la taille en octets qui
est la somme des tailles de tous les éléments
constitutifs.
Qu'ache le printf ?
Ferdinand KAHENGA Tableau statique
Tableau et Boucles
Il est possible de parcourir un tableau en
utilisant une boucle
Toutes les boucles vues sont utilisables : while,
do while et for
Il faut bien surveiller la taille du tableau pour
éviter le dépassement
Il est conseiller d'utiliser sizeof() pour
déterminer automatiquement la taille
Ferdinand KAHENGA Tableau statique
Tableau et Boucles
Ferdinand KAHENGA Tableau statique
On va utiliser sizeof pour déterminer la taille du
tableau
Sachant que sizeof(tab) → 20
Sachant également que tab est un tableau en
int
Pour avoir la taille, on fera sizeof(tab)/4 → 5
Ferdinand KAHENGA Tableau statique
Branchements inconditionnels
Au delà des branchements conditionnels vus
dans le premier chapitre, il existe des
branchements inconditionnels.
Il s'agit de :
1 break
2 continue
3 return
4 exit
Ces branchements sont utilisés pour contrôler
une boucle.
Ferdinand KAHENGA Tableau statique
Branchements inconditionnels
1 break : arrête l'exécution de la boucle
2 continue : arrête l'itération en cours et fait
passer à l'itération suivante
3 return : permet de quitter la fonction dans
laquelle il est exécuté
4 exit : permet de quitter le programme
Ferdinand KAHENGA Tableau statique
break
Le programme ache 5 car la boucle s'est arrêtée au
passage i=3.
Ferdinand KAHENGA Tableau statique
continue
Le programme ache 8 car l'opération de la somme
a été sautée dans la boucle au passage i=3.
Ferdinand KAHENGA Tableau statique
1 Écrire une procédure display_array(int tab[],int
n) qui ache les n premiers contenus du tableau
tab donné en paramètre.
2 Écrire une fonction ll_array_zero(int tab[],int
n) qui remplit les n premières cases d'un tableau
tab avec n 0.
3 Écrire une fonction ll_array(int tab[],int n) qui
remplit les n premières cases d'un tableau tab
avec les n premiers entiers.
4 Écrire une fonction ll_array_random(int
tab[],int n) qui remplit les n premières cases
d'un tableau avec n entiers aléatoires.
Ferdinand KAHENGA Tableau statique
1 Écrire une procédure ll_text(char prenom[])
qui remplit un tableau avec une suite des
caractères saisis au clavier.
Ferdinand KAHENGA Tableau statique