Comment déclarer un tableau de caractère (contient des caractère dans ses cases)
Résolu/Fermé
SalimRT
Messages postés
14
Date d'inscription
lundi 31 décembre 2018
Statut
Membre
Dernière intervention
24 février 2019
-
9 janv. 2019 à 00:16
[Dal] Messages postés 6203 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 29 janvier 2025 - 9 janv. 2019 à 13:23
[Dal] Messages postés 6203 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 29 janvier 2025 - 9 janv. 2019 à 13:23
A voir également:
- Comment déclarer un tableau de caractère (contient des caractère dans ses cases)
- Caractère ascii - Guide
- Caractere speciaux - Guide
- Caractère spéciaux - Guide
- Tableau croisé dynamique - Guide
- Caractere speciaux mac - Guide
2 réponses
Utilisateur anonyme
9 janv. 2019 à 08:15
9 janv. 2019 à 08:15
Bonjour
La réponse est là https://www.qwant.com/?q=C+declarer+tabelau
La réponse est là https://www.qwant.com/?q=C+declarer+tabelau
[Dal]
Messages postés
6203
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
29 janvier 2025
1 099
Modifié le 9 janv. 2019 à 13:26
Modifié le 9 janv. 2019 à 13:26
Salut SalimRT,
Tu as cet article sur CCM : https://www.commentcamarche.net/contents/118-langage-c-les-chaines-de-caracteres qui explique comment les chaînes de caractères fonctionnent en C.
1.
Dans ton message, tu demandes : "En général qu'on doit faire pour déclarer un tab de caractere?"
En général, pour juste déclarer un tableau de
Si ce tableau de
Après une telle déclaration, tu peux ensuite affecter des chaînes de caractères dans cet espace avec
2.
Dans ton titre tu demandes "Comment déclarer un tableau de caractère (contient des caractère dans ses cases)".
Si tu veux déclarer un tableau de char tout en l'initialisant avec une chaîne de caractères C donnée connue à la compilation, tu peux valablement utiliser le signe égal sur la même ligne que la déclaration. Par exemple de ces différentes façons :
De façon similaire
Après ces différentes déclarations, tu peux modifier le contenu des chaînes
3.
Les chaînes de caractères
En matière de chaînes de caractères, le C permet aussi de travailler avec des pointeurs sur char, pointant sur une zone mémoire allouée par le programme ou allouée au programme.
Mais comme ta question porte sur les tableaux, je m'arrêterai là :-)
Dal
Tu as cet article sur CCM : https://www.commentcamarche.net/contents/118-langage-c-les-chaines-de-caracteres qui explique comment les chaînes de caractères fonctionnent en C.
1.
Dans ton message, tu demandes : "En général qu'on doit faire pour déclarer un tab de caractere?"
En général, pour juste déclarer un tableau de
char, tu fais comme cela :
char s[TAILLE];. Si ce tableau de
chardoit accueillir une chaîne de caractères, il faut que TAILLE soit égale à la taille maximale de la chaîne + 1, car une chaîne de caractères en C est un tableau de
charcontenant les caractères de la chaîne et terminé par le caractère nul
'\0', comme expliqué dans l'article.
Si ce tableau de
charest déclaré dans main, comme il n'est pas initialisé à ce stade, il peut contenir n'importe quoi.
Après une telle déclaration, tu peux ensuite affecter des chaînes de caractères dans cet espace avec
strcpy()ou d'autres fonctions disponibles dans
string.h. Tu ne peux pas faire
s = "Bonjour";...
2.
Dans ton titre tu demandes "Comment déclarer un tableau de caractère (contient des caractère dans ses cases)".
Si tu veux déclarer un tableau de char tout en l'initialisant avec une chaîne de caractères C donnée connue à la compilation, tu peux valablement utiliser le signe égal sur la même ligne que la déclaration. Par exemple de ces différentes façons :
char s1[256] = "Bonjour"; char s2[256] = { 'B', 'o', 'n', 'j', 'o', 'u', 'r', '\0' }; char s3[256] = { '\0' }; char s4[] = "Bonjour";
s1et
s2font exactement la même chose,
s1étant une version raccourcie, plus pratique. Dans les deux cas, le compilateur se charge d'initialiser l'espace de 256
charà partir de l'index 0 avec chacune des 7 lettres de
"Bonjour"(et dans le cas de
s2avec le 8ème char indiqué
'\0', soit le caractère nul), puis le compilateur initialise le reste de l'espace jusqu'au 256ème
charavec le caractère nul
'\0'.
De façon similaire
s3déclare un tableau de 256 char avec une chaîne "vide", en mettant le caractère nul
'\0'en première position. Comme aucun autre caractère n'est fournit à l'initialisation, le compilateur se charge aussi de remplir le reste du tableau du caractère nul
'\0'.
s4est une autre version raccourcie, qui laisse le compilateur déterminer, lors de la compilation, la taille strictement nécessaire au stockage de la chaîne, donc ici 8
char(7 + 1).
Après ces différentes déclarations, tu peux modifier le contenu des chaînes
s1,
s2,
s3et
s4, par exemple en y affectant autre chose avec
strcpy(), mais tu ne pourras pas faire, par exemple
s4 = "Salut";.
3.
Les chaînes de caractères
s1,
s2,
s3et
s4ont le type tableau de
char.
En matière de chaînes de caractères, le C permet aussi de travailler avec des pointeurs sur char, pointant sur une zone mémoire allouée par le programme ou allouée au programme.
Mais comme ta question porte sur les tableaux, je m'arrêterai là :-)
Dal