- 1. Déclaration de tableau en C/C++
- Un tableau est une suite séquentielle de cellules, chacune d'elles conteneant une donnée de même type.
...
int tab_int[6] /* un tableau pouvant contenir 6 entiers */
int vente [3][4]; /* un tableau de 3 lignes et 4 colonnes des entiers) */
char chaine1[20]; /* une chaine de caratère de 20 éléments */
char nom[2][10]; /* un tableau de chaines de caratères */
... ou encore
int tab2[4]={1,2,3,4};
int stat1[2][3]={{1,2,3},{4,5,6}};
char message[10]={"bonjour"};
char mmois[3][20]={"Janvier","fevrier","mars"};
...
.......
struct voiture
{
char ref[10+1];
char immat[15+1];
char mise_service[25+1];
char marque[15+1];
char modele[15+1];
char ref_client[10+1]; //clé étrangère du MLD
};
struct voiture tab_voiture[taille_tableau]; /*Tableau de structure VOITURE */
int nbre_voiture=0; //Compteur du nombre de voiture dans la base
- 2. Accès aux éléments d'un tableau eb C/C++
- Chaque élément d'un tableau est accédé par l'intermédiaire d'un indice. L'indice doit être un entier.
L'indice 0 donnant accès au premier élément.
........... Voir déclaration de tableau plus haut
int i,j;
i=2;
..............................
tab_int[i] = 5;
tab_int[i+2] = 8;
tab_int[i*2 -2 ] = 10;
tab_int[0] = 1;
..............................
...for (i = 0; i < nbre_voiture ; i++)
{
system("cls");
printf("Reference de la voiture : %s \n",tab_voiture[i].ref);
}
............
....
- 3. Tableau de chaines de caractères en C/C++
- Une chaine de caractère est composée de caractères alphanumeriques. Elles est un cas particulier de tableau de caractères.
un caractère spécial " \0 " indique la fin de chaine. Il n'existe pas d'opérateur qui compare deux chaines ou copie l'une vers l'autre. Il faut passer par une fonction de traitement de chaines de caractères.
...
char chaine1[20];
/* strcpy (string copy) est une fonction qui copie une chaine vers une autre
strcpy( chaine,"ceci est un test");
printf("%s \n",chaine1);
- 4. Accès à un tableau à plusieurs dimensions
-
........... Voir déclaration de tableau plus haut
int i,j;
for( i=0; i< 2; i++)
{
for( j= 0; j < 3; j++)
{
stat1[i][j] = stat1[i][j] * 2;
printf("%d \n", stat1[i][j]);
}
}
.............................