下载MetaTrader 5
MQL5参考数组函数ArrayInitialize 

ArrayInitialize

函数通过预设值初始化一组数字数组。

初始化字符型数组

int  ArrayInitialize(
   char    array[],     // 初始化的数组
   char    value        // 将被设置的值
   );

初始化短整型数组

int  ArrayInitialize(
   short   array[],     // 初始化的数组
   short   value        // 将被设置的值
   );

初始化整型数组

int  ArrayInitialize(
   int     array[],     // 初始化的数组
   int     value        // 将被设置的值
   );

初始化长整型数组

int  ArrayInitialize(
   long    array[],     // 初始化的数组
   long    value        // 将被设置的值
   );

初始化浮点型数组

int  ArrayInitialize(
   float   array[],     // 初始化的数组
   float   value        // 将被设置的值
   );

初始化双精度型数组

int  ArrayInitialize(
   double  array[],     // 初始化的数组
   double  value        // 将被设置的值
   );

初始化布尔型数组

int  ArrayInitialize(
   bool    array[],     // 初始化的数组
   bool    value        // 将被设置的值
   );

初始化无符号整型数组

int  ArrayInitialize(
   uint    array[],     // 初始化的数组
   uint    value        // 将被设置的值
   );

参量

array[]

[out]  需要初始化的数值数组

value

[in]  为所有数组元素建立新值

返回值

初始化元素的数量。

注释

ArrayResize()函数允许建立为无需人工安置扩散而保留的数组内存大小。它为了更好的属性而实施,因为内存重新安置操作相当慢。

使用ArrayInitialize(数组, init_val)初始化不表示储备元素相同值分配给数组。使用ArrayResize()函数进行数组的长远扩展,元素会添加到数组末尾,其他值是未下定义的病情在大多数情况下不等于init_value

示例:

void OnStart()
  {
//--- 动态数组
   double array[];
//--- 数组大小设为100个元素并为另10个元素保留缓冲区
   ArrayResize(array,100,10);
//--- 初始化带有EMPTY_VALUE=DBL_MAX值的数组元素
   ArrayInitialize(array,EMPTY_VALUE);
   Print("Values of 10 last elements after initialization");
   for(int i=90;i<100;i++) printf("array[%d] = %G",i,array[i]);
//--- 数组扩展5个元素
   ArrayResize(array,105);
   Print("Values of 10 last elements after ArrayResize(array,105)");
//--- 最后的5个数组值可以从保留的缓冲区获得
   for(int i=95;i<105;i++) printf("array[%d] = %G",i,array[i]);
  }


更新: 2015.12.03