FriconiX
Des milliers de pictogrammes gratuits dessinés avec amour!

Cours 10.2. Le caractère de fin de chaîne

Caractère de fin de chaîne

La particularité des chaînes de caractères vis à vis des tableaux de caractères est qu'une chaîne de caractère se termine par un zéro de fin de chaîne. Ce zéro de fin de chaîne correspond au premier caractère de la table ASCII (à ne pas confondre avec le caractère '0' qui a pour code ASCII 48). Le caractère de fin de chaîne ne se trouve pas nécessairement dans la dernière cellule du tableau. Analysons la chaîne de caractère suivante :

char text[8] = "Bye!";

Voici la représentation en mémoire de cette chaîne de caractères :

Représentation en mémoire d'une chaîne de caractères

On constate que le zéro de fin de chaîne se trouve dans la cinquième cellule qui n'est pas la dernière case du tableau. On constate également que les 3 dernières cellules du tableau contiennent des valeurs arbitraires, c'est à dire qu'elles ne sont pas initialisées.

Syntaxe

Le caractère de fin de chaîne peut être représenté de différentes façons :

Exercice

Exercice 1

On donne la déclaration de la chaîne suivante :

char str[10] = "abc";

À l'aide d'une boucle, parcourir un à un les caractères du tableau afin de les afficher sous forme :

Utilisez sizeof() pour déterminer la longueur du tableau dans la boucle. Voici l'affichage attendu de cet exercice :

str[0]  = 'a'   = 97    = 0x61
str[1]  = 'b'   = 98    = 0x62
str[2]  = 'c'   = 99    = 0x63
str[3]  = ''    =  0    = 0x00
str[4]  = ''    =  0    = 0x00
str[5]  = ''    =  0    = 0x00
str[6]  = ''    =  0    = 0x00
str[7]  = ''    =  0    = 0x00
str[8]  = ''    =  0    = 0x00
str[9]  = ''    =  0    = 0x00

Exercice 2

On donne la déclaration de la chaîne suivante :

char str[] = "Cette chaîne est trop longue car elle contient trop de caractères.";

En une instruction, tronquez la chaîne après le 29ème caractère. Afficher la chaîne avant et après :

Avant : Cette chaîne est trop longue car elle contient trop de caractères.
Après : Cette chaîne est trop longue

Quiz

Une chaîne de caractère se termine toujours par ...

Vérifier Bravo ! Essaie encore ...

Quelle est la taille du tableau suivant :

char str[] = "abc";
Vérifier Bravo ! Essaie encore ...

Combien de caractères utiles peut contenir la chaîne suivante :

char str[8];
Vérifier Bravo ! Essaie encore ...

Quelles syntaxes permettent d'insérer un caractère de fin de chaîne ?

Vérifier Bravo ! Essaie encore ...

Voir aussi


Dernière mise à jour : 28/10/2020