Initialisation partielle consécutive et dispersée

Initialisation partielle: Soit le tableau est initialisé dans l'ordre des éléments (un élément ne peut être initialisé que si les précédents le sont) on parle d'initilisation partielle consécutive, soit les éléments sont initialisés sans cette contrainte (impossible à la déclaration) et on parle d'initialisation dispersée.

En cas d'initilisation partielle consécutive il est nécessaire (pour des traitements qui manipulent le tableau) de savoir combien d'éléments sont initialisés: ==> on a besoin d'une variable entière qui stocke le nombre d'éléments effectifs.

Exemple d'initialisation partielle consécutive:
0
1
2
3
4
5
6
7
8
9
12
10
13.5
?
?
?
?
?
?
?
nbEffectifs = 3;

En cas d'initialisation partielle dispersée il est nécessaire de mémoriser les éléments qui sont initialisés et ceux qui ne le sont pas. Il y a deux solutions possibles: soit une valeur spécifique qui marque la non initialisation, soit un autre tableau qui marque (ex: par 1) les éléments initialisés et par une autre marque (ex: par 0) ceux qui ne le sont pas.

0
1
2
3
4
5
6
7
8
9
12
-1
-1
-1
14
-1
-1
-1
-1
-1
-1 ==> non initialisé

0
1
2
3
4
5
6
7
8
9
12
?
?
?
14
?
?
?
?
?

0
1
2
3
4
5
6
7
8
9
1
0
0
0
1
0
0
0
0
0
suivant        plan