switch (expression)
{case valConstante : instruction 1;
instruction 2;
…
break ;
case valConstante2 : instructions ;
default : instructions ;
}
Rq : les instructions sont exécutées jq'à la rencontre d'un break
Rq : tous les éléments d'un tableau se succèdent dans la mémoire de l'ordinateur.
Attn : les entiers se codent sur 4 octets Þ les indices vont de 1 en 1 mais les adresses des cases-mémoire correspondantes vont de 4 en 4.
(caractères codés sur 1 octet)
Segmentation fault : la case mémoire consultée n'appartient pas à l'espace mémoire réservé au programme.
Attn : en C et C++ : les indices commencent tj à 0
déclaration
d'un tableau
typeTableau nomTableau[tailleTableau]
;
initialisation
d'un tableau
typeTableau nomTableau[tailleTableau]
= { val0, val1, … valtailleTableau-1-n};
Rq : on n'est pas forcé d'initialiser tout le tableau
typeTableau nomTableau[] = {val0,
val1, …, valtailleTableau-1};
Rq : la taille du tableau est déterminée par le compilateur lui-même.
Tout accès en dehors de cet intervalle est un accès erroné
Attn aux indices balayés dans les boucles FOR et WHILE
typeTableau nomTableau[nbLignes]
[nbColonnes];
En mémoire, le tableau est mémorisé ligne après ligne.
initialisation
d'un tableau à 2 dimensions
typeTableau nomTableau[nbLignes]
[nbColonnes] = { {listeValLigne1}, {listeValLigne2},
…}
Rq : on n'est pas forcé d'initialiser tout le tableau, la taille du tableau puet être déterminée par le compilateur lui-même.
String (ch. de car.)
'\0' : marque la fin des ch. de car.
cout<<tableauDeCaractères
affiche tous les caractères du tableau jq'au premier \0 rencontré.
# include <string.h>
strlen : donne longueur ch. de car. s compter \0
srtcmp : compare 2 chaînes (tri alphabétique)
>0 si : 1e > 2e ou >0 ou =0
strcpy : copie une chaîne dans une autre
Attn : la taille des tableaux n'est pas testée.