Comment déclarer un tableau de chaines en C
Fermé
amani
-
10 mars 2010 à 11:01
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 10 mars 2010 à 19:52
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 10 mars 2010 à 19:52
A voir également:
- Comment déclarer un tableau de chaines en C
- Tableau croisé dynamique - Guide
- Comment faire un tableau - Guide
- Tableau ascii - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Comment imprimer un tableau excel sur une seule page - Guide
5 réponses
franquis
Messages postés
18
Date d'inscription
mardi 5 février 2008
Statut
Membre
Dernière intervention
20 mars 2011
2
10 mars 2010 à 11:18
10 mars 2010 à 11:18
Salut!
Tu dois faire pouvoir faire ça avec une structure:
https://forums.commentcamarche.net/forum/affich-1625522-tableau-de-chaines-en-c
ou au pire un tableau de tableau...
Bon courage!
Tu dois faire pouvoir faire ça avec une structure:
https://forums.commentcamarche.net/forum/affich-1625522-tableau-de-chaines-en-c
ou au pire un tableau de tableau...
Bon courage!
amaniihec
Messages postés
3
Date d'inscription
mercredi 10 mars 2010
Statut
Membre
Dernière intervention
10 mars 2010
3
10 mars 2010 à 11:39
10 mars 2010 à 11:39
on n'a pa encore étudier les structures :s pr declarer un tableau de tableau cmt je faire et je doi saisir les nom :s je galère !
Noha819
Messages postés
74
Date d'inscription
mercredi 5 août 2009
Statut
Membre
Dernière intervention
19 octobre 2023
14
10 mars 2010 à 12:43
10 mars 2010 à 12:43
Pour ce genre de question le site du 0 est assez complet...
https://openclassrooms.com/fr/courses/19980-apprenez-a-programmer-en-c
voila comment déclarer un tableau de caractères (chaine): char chaine[5];
char définit de le type (en l'occurence pour stocker des caractères et non des chiffres.
chaine est le nom de ton tableau
et [5] et la taille de ton tableau, c'est a dire le nombre maximal de caractère qu'il peut garder en mémoire.
https://openclassrooms.com/fr/courses/19980-apprenez-a-programmer-en-c
voila comment déclarer un tableau de caractères (chaine): char chaine[5];
char définit de le type (en l'occurence pour stocker des caractères et non des chiffres.
chaine est le nom de ton tableau
et [5] et la taille de ton tableau, c'est a dire le nombre maximal de caractère qu'il peut garder en mémoire.
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
10 mars 2010 à 19:44
10 mars 2010 à 19:44
Un tableau de caractères est différent d'un tableau de chaînes. char chaine[...] permet seulement de spécifier une chaîne de caractères de X caractères, pas de X chaînes.
amaniihec
Messages postés
3
Date d'inscription
mercredi 10 mars 2010
Statut
Membre
Dernière intervention
10 mars 2010
3
10 mars 2010 à 14:41
10 mars 2010 à 14:41
merciii noha :) et pr les stoké je fai : for (i=0;i>n;i++) {
printf("donner nom");
scanf("%s",t[i]);} ???
printf("donner nom");
scanf("%s",t[i]);} ???
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
10 mars 2010 à 19:52
10 mars 2010 à 19:52
Bonjour,
Pour faire un tableau de chaînes de caractères, tu peux utiliser :
soit un tableau à deux dimensions : char tab[NB_MOTS][LONGUEUR + 1]; ce qui alloue NB_MOTS*(LONGUEUR + 1) bytes dans le stack.
soit un tableau de pointeurs : char *tab[NB_MOTS]; ce qui allouera des mots dans le heap (en plus du stockage du tableau dans le stack). Cela te permet d'allouer juste ce qu'il te faut. A toi par contre de gérer l'allocation.
soit un pointeur sur des pointeurs : char **tab; même principe que précédemment mais tout dans le heap (sauf le premier pointeur).
Si tu connais à la déclaration de la variable les mots qu'il faudra stocker, je te recommande la deuxième méthode. Sinon, choisis plutôt la première (à moins de vouloir t'amuser avec les malloc et free).
Si tu veux plus de précisions, n'hésite pas.
Cdlt,
Pour faire un tableau de chaînes de caractères, tu peux utiliser :
soit un tableau à deux dimensions : char tab[NB_MOTS][LONGUEUR + 1]; ce qui alloue NB_MOTS*(LONGUEUR + 1) bytes dans le stack.
soit un tableau de pointeurs : char *tab[NB_MOTS]; ce qui allouera des mots dans le heap (en plus du stockage du tableau dans le stack). Cela te permet d'allouer juste ce qu'il te faut. A toi par contre de gérer l'allocation.
soit un pointeur sur des pointeurs : char **tab; même principe que précédemment mais tout dans le heap (sauf le premier pointeur).
Si tu connais à la déclaration de la variable les mots qu'il faudra stocker, je te recommande la deuxième méthode. Sinon, choisis plutôt la première (à moins de vouloir t'amuser avec les malloc et free).
Si tu veux plus de précisions, n'hésite pas.
Cdlt,