Comment déclarer un tableau de chaines en C

amani -  
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   -
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 !
A voir également:

5 réponses

franquis Messages postés 18 Date d'inscription   Statut Membre Dernière intervention   2
 
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   Statut Membre Dernière intervention   3
 
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   Statut Membre Dernière intervention   14
 
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   Statut Contributeur Dernière intervention   1 846
 
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   Statut Membre Dernière intervention   3
 
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   Statut Contributeur Dernière intervention   1 846
 
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