Langage C code
Fermé
katanableuxd
-
27 mai 2021 à 19:20
[Dal] Messages postés 6194 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 11 octobre 2024 - 28 mai 2021 à 16:38
[Dal] Messages postés 6194 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 11 octobre 2024 - 28 mai 2021 à 16:38
A voir également:
- Langage C code
- Langage ascii - Guide
- Code puk bloqué - Guide
- Code telephone oublié - Guide
- Code activation windows 10 - Guide
- Langage binaire - Guide
1 réponse
leBayesien
Messages postés
17
Date d'inscription
mercredi 18 novembre 2020
Statut
Membre
Dernière intervention
12 juillet 2023
28 mai 2021 à 10:55
28 mai 2021 à 10:55
Bonjour , en langage C pour stocker plusieurs caractéres tu dois obligatoirement passer par un tableau de char.
Exemple :
Si tu veux stocker un seul caractére , tu fais
char maLettre = "a";
Pour stocker plusieurs caractéres comme j'ai dit tu passes par un tableau par exemple pour stocker 50 caractéres.
char Tableau[50];
pour remplir ton tableau tu peux écrire
Tableau = "Ma chaine";
à condition que ta chaîne ne depasse pas 50 caractéres dans cette exemple.
tu peux changer la chaine comme cela.
Tableau = "Mon autre chaine";
Ou bien directement sans préciser la taille du tableau
avec
char Tableau[] ="Ma chaine";
Mais la , la taille du tableau sera fixe , et si tu veux modifier la chaine , tu peux le faire a condition de mettre une chaine plus petite que "Ma chaine" , tu peux mettre "chaine" , mais pas un truc comme "Ma grosse et longue chaine " , retiens seulement que les tableaux ont une taille fixe dés que tu les construit.
En espérant avoir répondu a ta question , bonne chance ^^
Exemple :
Si tu veux stocker un seul caractére , tu fais
char maLettre = "a";
Pour stocker plusieurs caractéres comme j'ai dit tu passes par un tableau par exemple pour stocker 50 caractéres.
char Tableau[50];
pour remplir ton tableau tu peux écrire
Tableau = "Ma chaine";
à condition que ta chaîne ne depasse pas 50 caractéres dans cette exemple.
tu peux changer la chaine comme cela.
Tableau = "Mon autre chaine";
Ou bien directement sans préciser la taille du tableau
avec
char Tableau[] ="Ma chaine";
Mais la , la taille du tableau sera fixe , et si tu veux modifier la chaine , tu peux le faire a condition de mettre une chaine plus petite que "Ma chaine" , tu peux mettre "chaine" , mais pas un truc comme "Ma grosse et longue chaine " , retiens seulement que les tableaux ont une taille fixe dés que tu les construit.
En espérant avoir répondu a ta question , bonne chance ^^
Modifié le 28 mai 2021 à 14:32
Tu écris :
char Tableau[50];
pour remplir ton tableau tu peux écrire
Tableau = "Ma chaine";
Pour "remplir" le tableau de char, une fois celui-ci déclaré, on ne fait pas comme tu le proposes. Le code ci-dessus est illégal est devrait produire une erreur de syntaxe, car Tableau est un type tableau, et la chaîne littérale est un type pointeur sur char (pointant vers une chaîne littérale constante). Tu pourrais faire cela si ta variable était un pointeur sur char et non pas un tableau de char (tu te retrouverais alors avec une chaîne littérale constante non modifiable).
Dans la situation où un tableau de char est d'abord déclaré et que l'on souhaite ensuite le "remplir", on fait , pour "remplir" la tableau de char avec une chaîne (en faisant un pour pouvoir accéder à cette fonction standard du C).
char Tableau[] ="Ma chaine";
Cette notation est en revanche correcte, car il s'agit d'un raccourci syntaxique permis par le langage, qui, en une seule ligne, permet la déclaration du tableau et son initialisation lors de la déclaration avec la chaîne passée. Le compilateur va dimensionner tout seul le tableau pour disposer de l'espace nécessaire au nombre de char passés plus le terminateur de chaîne '\0', et y copier la chaîne.
28 mai 2021 à 14:58
Effectivement , j'ai testé avec un compilateur en ligne.
Le code suivant.
Et effectivement il me met une erreur quand je veux changer la valeur par "ma nouvelle chaine".
ça fait longtemps que j'avais pas refait du C , et dans mes souvenir , je pensais avoir trouvé la réponse :(
Bon , moralité faudrait penser a pratiquer le langage python si vous galérer en C ;)
28 mai 2021 à 15:18
cela peut donner un code comme cela et ça résout l'erreur du coup
28 mai 2021 à 15:40
28 mai 2021 à 15:44
Et qu'entends-tu par "comportement indéterminé" ? qu'est-ce qui ce passe avec ce genre de pratique ?