Un tableau permet de stocker plusieurs valeurs d’un même type
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
---|---|---|---|---|---|---|---|---|
9 | 22 | -1 | 7 | 2 | 9 | 3 | 6 | 8 |
Chaque emplacement du tableau permet de stocker une valeur
Une valeur stockée dans le tableau est un élément du tableau
On désigne aussi ce concept par les mots suivants:
La longueur du tableau est le nombre d’éléments du tableau
On désigne aussi ce concept par les mots suivants:
Chaque élément possède un index
Synonymes:
En pseudo-code:
1
En C (et dans de nombreux autres langages):
0
En pseudo-code:
taille
En C (et dans de nombreux autres langages):
taille - 1
)(taille du tableau moins 1)
Déclaration d’un tableau de 10 entiers:
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---|---|---|---|---|---|---|---|---|---|
Tableau mon_tableau[10] d'entiers
En C (et d’autres langages):
int mon_tableau[10] ;
Modification d’un élément d’un tableau de 10 entiers:
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---|---|---|---|---|---|---|---|---|---|
0 | 0 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
mon_tableau[2] <-- 4
En C :
[2] = 4; mon_tableau
Affichage d’un élément d’un tableau de 10 entiers:
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---|---|---|---|---|---|---|---|---|---|
0 | 0 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
AFFICHER mon_tableau[2]
En C :
("%d, ", un_tableau[2]); printf
for
N <-- 10
POUR i ALLANT_DE 1 A N
DEBUT_POUR
mon_tableau[i] <-- i * i
FIN_POUR
for
Affichage
POUR i ALLANT_DE 1 A N
DEBUT_POUR
AFFICHER mon_tableau[i]
FIN_POUR
#include <stdio.h>
int main () {
//Déclaration + initialisation
int un_tableau[10] = {};
//Parcours
for(int i = 0 ; i < 10 ; i ++ ) {
("%d, ", un_tableau[i]);
printf}
("\n");
printfreturn 0;
}
int un_tableau[10] = {1, 2, 3};
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---|---|---|---|---|---|---|---|---|---|
1 | 2 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Utilisation typique avec une boucle for
:
#include <stdio.h>
int main () {
//Déclaration + initialisation
int un_tableau[10] = {1, 2, 3};
//Parcours
for(int i = 0 ; i < 10 ; i ++ ) {
("%d, ", un_tableau[i]);
printf}
("\n");
printfreturn 0;
}
Une chaîne de caractères permet de représenter un texte
char chaine[10]; // DANGER: chaine non initialisée
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---|---|---|---|---|---|---|---|---|---|
Une chaîne de caractères permet de représenter un texte
char chaine[10] = "Texte";
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---|---|---|---|---|---|---|---|---|---|
'T' |
'e' |
'x' |
't' |
'e' |
'\0' |
? | ? | ? | ? |
\0
est une valeur spéciale permettant de définir la fin
de la chaîne.
Une chaîne de caractères permet de représenter un texte
(chaine, "Texte") ; ; strcpy
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---|---|---|---|---|---|---|---|---|---|
'T' |
'e' |
'x' |
't' |
'e' |
'\0' |
? | ? | ? | ? |
\0
est une valeur spéciale permettant de définir la fin
de la chaîne.
char chaine[10] = "Texte" ;
("La chaîne vaut \"%s\"\n", chaine); printf
Utilisation de la fonction strlen(char*)
char chaine[10] = "Texte" ;
("Longueur de la chaine: %lu\n", strlen(chaine)); printf
%lu
représente ici un entier long non signé.
#include <stdio.h>
#include <string.h>
int main () {
//Déclaration
char chaine[80];
//Initialisation
(chaine, "Ceci est une chaîne initialisée après déclaration") ;
strcpy
//Parcours
for(int i = 0 ; i < strlen(chaine) ; i ++ ) {
("%c, ", chaine[i]);
printf}
("\n");
printfreturn 0;
}
#include <stdio.h>
int main () {
//Déclaration + initialisation
char *chaine = "Une chaine";
//Parcours
for(int i = 0 ; i < 10 ; i ++ ) {
("%c, ", chaine[i]);
printf}
("\n");
printfreturn 0;
}
#include <stdio.h>
#include <string.h>
int main () {
//Déclaration
char chaine[80] = "Texte" ;
("La chaîne vaut \"%s\"\n", chaine);
printf("Longueur de la chaine: %lu\n", strlen(chaine));
printf
//Initialisation
(chaine, "Ceci est une chaîne initialisée après déclaration") ;
strcpy("La chaîne vaut \"%s\"\n", chaine);
printf("Longueur de la chaine: %lu\n", strlen(chaine));
printf
return 0;
}
Affiche:
La chaîne vaut "Texte"
Longueur de la chaine: 5
La chaîne vaut "Ceci est une chaîne initialisée après déclaration"
Longueur de la chaine: 53
#include <stdio.h>
#include <string.h>
char* creer_chaine() {
char fin_de_chaine = '\0' ;
static char chaine[11] ;
char lettre = 115;
[0] = lettre;
chaine[1] = fin_de_chaine;
chaine
for (int i = 0 ; i < 10 ; i ++ ) {
[i] = lettre++;
chaine}
[10] = fin_de_chaine;
chainereturn chaine;
}
int main () {
char* chaine = creer_chaine();
("La chaine vaut \"%s\"\n", chaine);
printf
for(int i = 0 ; i < strlen(chaine) ; i ++){
("Le caractère n°%d vaut: %c\n", i, chaine[i]);
printf}
return 0;
}