Bonjour,

dans un programme (oui oui toujours le même ^^) je dois stocker des noms de pays.
Ils sont stockés dans une variable :
"char nomsPays[NMAX][NMAX];"
(NMAX = 100)

Le problème est que cela prend de la place (enfin en tout cas ce n'est pas optimisé).
Pour le 2eme NMAX le problème peux se résoudre avec l'allocation dynamique.

Pour le premier je n'arrive pas à voir comment m'en sortir.

Voici un schéma de mon programme :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include<*.h>
#define NMAX 100
void example(char*[NMAX]);
 
main(){
  int nbPays;
  char *nomsPays[NMAX];
/*  On saisie le nombre de Pays  */
  ...
/* On saisie le noms des differents pays  */
  ...
}
 
void example(char* nomsPays[NMAX]{
  ...
}
Je pense qu'une solution est de faire entrer "nbPays" par l'utilisateur et ensuite déclarer les variables (ça pas de problème) ainsi que les prototype et les déclaration des fonctions.
Afin de pouvoir avoir :
void example(char*[nbPays]);

Voila je ne vois pas trop comment m'y prendre pour le faire de manière élegante.

Merci d'avance pour vos réponses