Descargar MetaTrader 5

ArraySize

Esta función devuelve el número de elementos del array especificado.

int  ArraySize(
   const void&  array[]    // array a comprobar
   );

Parámetros

array[]

[in]  Array de cualquier tipo.

Valor devuelto

Valor del tipo int.

Nota

Para un array unidimensional el valor devuelto por la función ArraySize es igual al valor de ArrayRange(array,0).

Ejemplo:

void OnStart()
  {
//--- creación de arrays
   double one_dim[];
   double four_dim[][10][5][2];
//--- tamaños
   int one_dim_size=25;
   int reserve=20;
   int four_dim_size=5;
//--- variable auxiliar
   int size;
//--- adjudicamos memoria sin el backup
   ArrayResize(one_dim,one_dim_size);
   ArrayResize(four_dim,four_dim_size);
//--- 1. array unidimensional
   Print("+==========================================================+");
   Print("Tamaños de arrays:");
   Print("1. Array unidimensional");
   size=ArraySize(one_dim);
   PrintFormat("Tamaño de la dimensión cero = %d, Tamaño del array = %d",one_dim_size,size);
//--- 2. array multidimensional
   Print("2. Array multidimensional");
   size=ArraySize(four_dim);
   PrintFormat("Tamaño de la dimensión cero = %d, Tamaño del array = %d",four_dim_size,size);
//--- tamaños de dimensiones
   int d_1=ArrayRange(four_dim,1);
   int d_2=ArrayRange(four_dim,2);
   int d_3=ArrayRange(four_dim,3);
   Print("Prueba:");
   Print("Dimensión cero = Tamaño del array / (Primera dimensión * Segunda dimensión * Tercera dimensión)");
   PrintFormat("%d = %d / (%d * %d * %d)",size/(d_1*d_2*d_3),size,d_1,d_2,d_3);
//--- 3. array unidimensional con memoria backup
   Print("3. Array unidimensional con memoria backup");
//--- aumentamos el valor 2 veces
   one_dim_size*=2;
//--- adjudicamos la memoria con backup
   ArrayResize(one_dim,one_dim_size,reserve);
//--- imprimimos el tamaño
   size=ArraySize(one_dim);
   PrintFormat("Tamaño con backup = %d, Tamaño real del array = %d",one_dim_size+reserve,size);
  }