En Javascool comme dans de nombreux langages, il faut gérer la taille
des tableaux, c'est à dire leur nombre d'éléments :
Allocation dynamique |
Allocation statique |
void main() {
int n;
n = readInt("nombre d'articles : ");
// déclaration des tableaux
String[] nom;
double[] prixUnitaire;
int[] quantite;
nom = new String[n];
prixUnitaire = new double[n];
quantite = new int[n];
// saisie des tableaux
...
// total de la commande
...
}
|
int MAX_TAB=100; // taille maximale
void main() {
int n;
n = readInt("nombre d'articles : ");
// déclaration des tableaux
String[] nom;
double[] prixUnitaire;
int[] quantite;
nom = new String[MAX_TAB];
prixUnitaire = new double[MAX_TAB];
quantite = new int[MAX_TAB];
// saisie des tableaux
...
// total de la commande
...
}
|
Pour l'allocation dynamique, la mémoire nécessaire pour stocker les tableaux est allouée
pendant l'exécution du programme (ici après la saisie de n).
Pour l'allocation statique, la mémoire nécessaire pour stocker les tableaux est allouée
avant l'exécution du programme : comme on ne peut prédire le nombre d'articles qui sera saisi, une taille
maximale (ici 100) est fixée et le programme ne fonctionnera que si le nombre d'articles ensuite saisi
ne dépasse pas cette limite.
Remarque : certains langages ne permettent que l'allocation statique.