ArrayInitialize

La fonction initialise un tableau numérique avec une valeur prédéfinie.

Pour l'initialisation d'un tableau de type char

int  ArrayInitialize(
   char    array[],     // tableau à initialiser
   char    value        // valeur à utiliser
   );

Pour l'initialisation d'un tableau de type short

int  ArrayInitialize(
   short   array[],     // tableau à initialiser
   short   value        // valeur à utiliser
   );

Pour l'initialisation d'un tableau de type int

int  ArrayInitialize(
   int     array[],     // tableau à initialiser
   int     value        // valeur à utiliser
   );

Pour l'initialisation d'un tableau de type long

int  ArrayInitialize(
   long    array[],     // tableau à initialiser
   long    value        // valeur à utiliser
   );

Pour l'initialisation d'un tableau de type float

int  ArrayInitialize(
   float   array[],     // tableau à initialiser
   float   value        // valeur à utiliser
   );

Pour l'initialisation d'un tableau de type double

int  ArrayInitialize(
   double  array[],     // tableau à initialiser
   double  value        // valeur à utiliser
   );

Pour l'initialisation d'un tableau de type bool

int  ArrayInitialize(
   bool    array[],     // tableau à initialiser
   bool    value        // valeur à utiliser
   );

Pour l'initialisation d'un tableau de type uint

int  ArrayInitialize(
   uint    array[],     // tableau à initialiser
   uint    value        // valeur à utiliser
   );

Paramètres

array[]

[out]  Tableau numérique à initialiser.

value

[in]  Nouvelle valeur qui doit être mise pour tous les éléments du tableau.

Valeur de Retour

Nombre d'éléments initialisés.

Note

La fonction ArrayResize() permet de définir la taille d'un tableau avec une réserve pour être étendue ultérieurement sans réallocation physique de la mémoire. Elle est implémentée pour de meilleures performances, car les opérations de réallocation mémoire sont raisonnablement lentes.

L'initialisation du tableau avec ArrayInitialize(array, init_val) ne signifie pas l'initialisation de la valeur des éléments réservés alloués pour ce tableau. Lors d'une extension ultérieure du tableau avec la fonction ArrayResize(), les éléments sont ajoutés à la fin du tableau, leurs valeurs seront indéfinies et dans la plupart des cas ne seront pas égales à init_value.

Exemple :

void OnStart()
  {
//--- tableau dynamique
   double array[];
//--- définissons une taille de tableau pour 100 éléments et réservons un buffer pour 10 éléments supplémentaires
   ArrayResize(array,100,10);
//--- initialisons les éléments du tableau avec la valeur EMPTY_VALUE=DBL_MAX
   ArrayInitialize(array,EMPTY_VALUE);
   Print("Valeurs des 10 derniers éléments après initialisation");
   for(int i=90;i<100;i++) printf("array[%d] = %G",i,array[i]);
//--- étendons le tableau de 5 éléments
   ArrayResize(array,105);
   Print("Valeurs des 10 derniers éléments après ArrayResize(array,105)");
//--- les valeurs des 5 derniers éléments sont obtenues avec le buffer de la réserve
   for(int i=95;i<105;i++) printf("array[%d] = %G",i,array[i]);
  }