A voir également:
- Mini projet en c
- Opera mini pc - Télécharger - Navigateurs
- Meilleur mini pc - Accueil - Guide ordinateurs
- Geekom mini it11 - Accueil - Guide ordinateurs
- Geekom mini it13 - Accueil - Ordinateurs
- Mini traceur pour lunettes - Guide
3 réponses
Utilisateur anonyme
12 févr. 2009 à 14:55
12 févr. 2009 à 14:55
JE SAIS PAS VRAIMENT PAR OU COMMENCER
Et apparemment on ne sait pas quoi te répondre... peut-être tout simplement parce qu'on ne comprend pas la question.
Sur la page indiquée, lis particulièrement la rubrique 'quelques conseils':
http://www.commentcamarche.net/faq/sujet 10925 demander de l aide pour vos exercices sur ccm
Bon courage.
Sur la page indiquée, lis particulièrement la rubrique 'quelques conseils':
http://www.commentcamarche.net/faq/sujet 10925 demander de l aide pour vos exercices sur ccm
Bon courage.
Le plus simple, me semble-t-il, est d'utiliser un tableau de pointeurs dynamique, pointeurs sur des chaînes de caractères.
-> déclaration d'un tableau:: char** chaines = NULL;
-> déclaration d'un indice: int indice = 0;
Si on a besoin de stocker une chaîne contenue dans un char* chaine:
-> réallocation: chaines = (char**)realloc (chaines, (++indice) * sizeof(char*));
Là il y a 2 méthodes de copie de la chaîne:
- soit une copie logique: chaines[indice-1] = chaine; ce qui implique de ne pas désallouer 'chaine',
- soit une copie physique:
-> allocation mémoire: chaines[indice-1] = (char*)malloc(strlen(chaine)+1);
-> copie physique: strcpy (chaines[indice-1], chaine); ne pas oublier de désallouer 'chaine'.
Pour imprimer un tableau, pas de mystères:
int i; for (i=0; i<indice; i++) printf ("%s\n", chaines[i]);
Nota: Evidemment il ne faut jamais oublier de vérifier si les malloc et realloc se sont bien déroulés.
-> déclaration d'un tableau:: char** chaines = NULL;
-> déclaration d'un indice: int indice = 0;
Si on a besoin de stocker une chaîne contenue dans un char* chaine:
-> réallocation: chaines = (char**)realloc (chaines, (++indice) * sizeof(char*));
Là il y a 2 méthodes de copie de la chaîne:
- soit une copie logique: chaines[indice-1] = chaine; ce qui implique de ne pas désallouer 'chaine',
- soit une copie physique:
-> allocation mémoire: chaines[indice-1] = (char*)malloc(strlen(chaine)+1);
-> copie physique: strcpy (chaines[indice-1], chaine); ne pas oublier de désallouer 'chaine'.
Pour imprimer un tableau, pas de mystères:
int i; for (i=0; i<indice; i++) printf ("%s\n", chaines[i]);
Nota: Evidemment il ne faut jamais oublier de vérifier si les malloc et realloc se sont bien déroulés.