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
Bonjour,
je voudrais savoir comment déclarer un tableau de chaine de caractères en langage C!!! l'exercice est comme suit : Écrire un programme qui remplit un tableau de noms ensuite en parcourant le tableau vérifie si l’ordre alphabétique est respecté entre deux noms successifs et affiche le résultat.
je bloque sur la déclaration !

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
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!
0
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
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 !
0
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
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.
0
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
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.
0
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
merciii noha :) et pr les stoké je fai : for (i=0;i>n;i++) {
printf("donner nom");
scanf("%s",t[i]);} ???
0

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
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,
0