Tableau en C
Fermé
Ben
-
5 avril 2002 à 14:24
Mi-Ange Messages postés 2 Date d'inscription samedi 6 avril 2002 Statut Membre Dernière intervention 7 avril 2002 - 7 avril 2002 à 00:42
Mi-Ange Messages postés 2 Date d'inscription samedi 6 avril 2002 Statut Membre Dernière intervention 7 avril 2002 - 7 avril 2002 à 00:42
A voir également:
- Tableau en C
- Tableau croisé dynamique - Guide
- Tableau ascii - Guide
- Tableau word - Guide
- Trier tableau excel - Guide
- Comment imprimer un tableau excel sur une seule page - Guide
6 réponses
teebo
Messages postés
33491
Date d'inscription
jeudi 14 octobre 2004
Statut
Modérateur
Dernière intervention
24 février 2011
1 793
5 avril 2002 à 14:44
5 avril 2002 à 14:44
Longtemps aue j'ai pas fait de C, mais si je ne m'abuse, une chaine est un tableau, donc faut faire un tableau a 3 dimensions...
En esperant avoir ete util (mais pas bien sur quand meme ,-) )
Teebo...
"Le Sage à des questions, l'idiot des réponses..."
En esperant avoir ete util (mais pas bien sur quand meme ,-) )
Teebo...
"Le Sage à des questions, l'idiot des réponses..."
En C, le type chaine de caractère existe pas !
en fait, une chaine, c'est quoi ? un tableau de caractères.
Tu peut faire une chaine ainsi :
char tab_chaine[10][100];
sa te fournit un tableau de 10 chaines qui peuvent chacune faire 100 caractères.
Si tu veut un tableau de chaines à 2 dimmensions, tu peut t'y prendre come ca :
char tab_2dim[10][10][100];
sa te donne un tableau à 2 dimmensions qui contient des chaines de 100 caractères maximum.
tu peut faire :
strcpy(tab_2dm[0][0],"ma chaine");
Tu peut aussi utiliser l'allocation dynamique avec malloc/calloc, mais si tu commnces le C, je te le conseille pas (les erreurs de pointeurs sont pas toujours simples).
Hésie pas si t'as des questions
en fait, une chaine, c'est quoi ? un tableau de caractères.
Tu peut faire une chaine ainsi :
char tab_chaine[10][100];
sa te fournit un tableau de 10 chaines qui peuvent chacune faire 100 caractères.
Si tu veut un tableau de chaines à 2 dimmensions, tu peut t'y prendre come ca :
char tab_2dim[10][10][100];
sa te donne un tableau à 2 dimmensions qui contient des chaines de 100 caractères maximum.
tu peut faire :
strcpy(tab_2dm[0][0],"ma chaine");
Tu peut aussi utiliser l'allocation dynamique avec malloc/calloc, mais si tu commnces le C, je te le conseille pas (les erreurs de pointeurs sont pas toujours simples).
Hésie pas si t'as des questions
teebo
Messages postés
33491
Date d'inscription
jeudi 14 octobre 2004
Statut
Modérateur
Dernière intervention
24 février 2011
1 793
5 avril 2002 à 14:55
5 avril 2002 à 14:55
En gros, ca revient a ce que j'ai dit mais en plus savant et plus detaille...C'est ca, ou alors j'ai dit une heresie?
Teebo...
"Le Sage à des questions, l'idiot des réponses..."
Teebo...
"Le Sage à des questions, l'idiot des réponses..."
Merci bien les gars!!!! ;-)
Et si tu veux les allouer de manière dynamique, tu défini un tableau à deux dimention de pointeurs sur chaines de caractères :
char * tableau_de_pointeurs[10][10];
il ne faut pas oublier de faire les allocations des chaines (malloc, calloc...) et de les désalouer à la fin (free). Pour savoir si un chaine est allouée, je te conseille de mettre tout les pointeurs à NULL.
Tu peux aussi construite ton talbleau entièrement dynamiquement (écris moi si tu veux des idées)
A+
char * tableau_de_pointeurs[10][10];
il ne faut pas oublier de faire les allocations des chaines (malloc, calloc...) et de les désalouer à la fin (free). Pour savoir si un chaine est allouée, je te conseille de mettre tout les pointeurs à NULL.
Tu peux aussi construite ton talbleau entièrement dynamiquement (écris moi si tu veux des idées)
A+
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
batmat
Messages postés
1871
Date d'inscription
jeudi 1 novembre 2001
Statut
Membre
Dernière intervention
9 janvier 2008
114
6 avril 2002 à 13:36
6 avril 2002 à 13:36
Si tu es obligé de programmer en C, c bien comma ca qu'il faut faire, sinon en C++, il existe le type String
@+
-----------------------------
Vous hésitez entre Linux et Windows?
Vous voulez dépenser du temps ou de l'argent ?
@+
-----------------------------
Vous hésitez entre Linux et Windows?
Vous voulez dépenser du temps ou de l'argent ?
Mi-Ange
Messages postés
2
Date d'inscription
samedi 6 avril 2002
Statut
Membre
Dernière intervention
7 avril 2002
7 avril 2002 à 00:42
7 avril 2002 à 00:42
Ok avec Hilikus.
Sauf que les chaînes déclarées peuvent contenir maximum 99 caractères, car un byte est réservé pour la marque de fin de chaîne.
Sauf que les chaînes déclarées peuvent contenir maximum 99 caractères, car un byte est réservé pour la marque de fin de chaîne.