Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Char et Chaîne de Caractères | Types de Données et Variables
Bases Du C

bookChar et Chaîne de Caractères

En C, il n'existe pas de type de données dédié pour les chaînes de caractères (texte). À la place, le texte est stocké sous forme de tableau de char, où chaque élément contient un seul caractère. Par exemple, le texte c<>definity serait représenté comme une séquence de caractères stockés dans un tel tableau.

char arr[12] = {'c','<','>','d','e','f','i','n','i','t','y','\0'};

Vous remarquerez peut-être que le texte "c<>definity" comporte 11 caractères, mais que le tableau contient 12 éléments. Cet élément supplémentaire stocke le caractère de terminaison nul \0, qui marque la fin d'une chaîne en C.

Il ne s'agit pas du chiffre zéro, mais d'un caractère spécial non imprimable (code ASCII 0) qui indique au programme où la chaîne se termine.

Note
Remarque

Veillez toujours à ce que votre tableau de caractères soit d'un élément plus grand que le texte qu'il contient afin de prévoir ce caractère de terminaison.

Il est essentiel de reconnaître que 'x' et "x" ne sont pas la même chose.

Une chaîne de caractères est composée de caractères. Toujours se rappeler de terminer une chaîne avec le caractère \0.

  • 'x' est simplement une constante de caractère du type char ;
  • "x" est une chaîne de caractères, un tableau de valeurs char, ou, dans ce cas, {'x', '\0'}.
Note
Remarque

Ne pas confondre '\0', '0' et "0". '\0' est le caractère nul (ASCII 0), '0' est le chiffre zéro (ASCII 48), et "0" est une chaîne de caractères contenant le chiffre zéro suivi du terminateur \0.

Affichage de chaînes de caractères

En C, pour afficher des chaînes de caractères (tableaux de valeurs char), on utilise le spécificateur %s. Ce spécificateur indique à la fonction printf() le type d'information attendu. En utilisant %s, on informe la fonction printf() qu'elle recevra une chaîne de caractères.

main.c

main.c

copy
12345678910
#include <stdio.h> int main() { char array[] = { 'c','<','>','d','e','f','i','n','i','t','y','\0' }; printf("%s\n", array); // use %s format specifiers return 0; }

Le langage C inclut une bibliothèque standard pour la manipulation des chaînes de caractères, <string.h>. Dans cette bibliothèque, il existe une fonction qui compte le nombre de caractères dans une chaîne de caractères :

main.c

main.c

copy
123456789101112
#include <stdio.h> #include <string.h> int main() { char array[] = { 'c','<','>','d','e','f','i','n','i','t','y','\0' }; printf("%d\n", strlen(array)); return 0; }
Note
Remarque

Rappelez-vous, même un espace est un caractère et il nécessite sa propre place dans le tableau. Par exemple : char array[10] = { 'u','s','e',' ','s','p','a','c','e','\0' }.

En utilisant un indice, il est possible d'accéder aux éléments de la chaîne. Puisque les chaînes sont essentiellement des tableaux de char, il est également possible de modifier les caractères individuels via leurs indices.

Main.c

Main.c

copy
123456789101112
#include <stdio.h> int main() { char str[] = "c<>definity"; str[5] = '#'; // Change the sixth character `f` to `#` printf("%s\n", str); return 0; }
question mark

Laquelle des déclarations suivantes définit correctement une chaîne de caractères en C ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 6

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Awesome!

Completion rate improved to 2.63

bookChar et Chaîne de Caractères

Glissez pour afficher le menu

En C, il n'existe pas de type de données dédié pour les chaînes de caractères (texte). À la place, le texte est stocké sous forme de tableau de char, où chaque élément contient un seul caractère. Par exemple, le texte c<>definity serait représenté comme une séquence de caractères stockés dans un tel tableau.

char arr[12] = {'c','<','>','d','e','f','i','n','i','t','y','\0'};

Vous remarquerez peut-être que le texte "c<>definity" comporte 11 caractères, mais que le tableau contient 12 éléments. Cet élément supplémentaire stocke le caractère de terminaison nul \0, qui marque la fin d'une chaîne en C.

Il ne s'agit pas du chiffre zéro, mais d'un caractère spécial non imprimable (code ASCII 0) qui indique au programme où la chaîne se termine.

Note
Remarque

Veillez toujours à ce que votre tableau de caractères soit d'un élément plus grand que le texte qu'il contient afin de prévoir ce caractère de terminaison.

Il est essentiel de reconnaître que 'x' et "x" ne sont pas la même chose.

Une chaîne de caractères est composée de caractères. Toujours se rappeler de terminer une chaîne avec le caractère \0.

  • 'x' est simplement une constante de caractère du type char ;
  • "x" est une chaîne de caractères, un tableau de valeurs char, ou, dans ce cas, {'x', '\0'}.
Note
Remarque

Ne pas confondre '\0', '0' et "0". '\0' est le caractère nul (ASCII 0), '0' est le chiffre zéro (ASCII 48), et "0" est une chaîne de caractères contenant le chiffre zéro suivi du terminateur \0.

Affichage de chaînes de caractères

En C, pour afficher des chaînes de caractères (tableaux de valeurs char), on utilise le spécificateur %s. Ce spécificateur indique à la fonction printf() le type d'information attendu. En utilisant %s, on informe la fonction printf() qu'elle recevra une chaîne de caractères.

main.c

main.c

copy
12345678910
#include <stdio.h> int main() { char array[] = { 'c','<','>','d','e','f','i','n','i','t','y','\0' }; printf("%s\n", array); // use %s format specifiers return 0; }

Le langage C inclut une bibliothèque standard pour la manipulation des chaînes de caractères, <string.h>. Dans cette bibliothèque, il existe une fonction qui compte le nombre de caractères dans une chaîne de caractères :

main.c

main.c

copy
123456789101112
#include <stdio.h> #include <string.h> int main() { char array[] = { 'c','<','>','d','e','f','i','n','i','t','y','\0' }; printf("%d\n", strlen(array)); return 0; }
Note
Remarque

Rappelez-vous, même un espace est un caractère et il nécessite sa propre place dans le tableau. Par exemple : char array[10] = { 'u','s','e',' ','s','p','a','c','e','\0' }.

En utilisant un indice, il est possible d'accéder aux éléments de la chaîne. Puisque les chaînes sont essentiellement des tableaux de char, il est également possible de modifier les caractères individuels via leurs indices.

Main.c

Main.c

copy
123456789101112
#include <stdio.h> int main() { char str[] = "c<>definity"; str[5] = '#'; // Change the sixth character `f` to `#` printf("%s\n", str); return 0; }
question mark

Laquelle des déclarations suivantes définit correctement une chaîne de caractères en C ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 6
some-alt