跳至内容

ArrayFill

ArrayFill

此函数用指定值填充数组。

void  ArrayFill(
   void&  array[],      // array
   int    start,        // starting index
   int    count,        // number of elements to fill
   void   value         // value
   );

参数

array[]

[out] 简单类型的数组(char, uchar, short, ushort, int, uint, long, ulong, bool, color, datetime, float, double)。

start

[in] 起始索引。在这种情况下,指定的AS_SERIES flag将被忽略。

count

[in] 要填充的元素数量。

value

[in] 用于填充数组的值。

返回值

不返回任何值。

注意

当调用ArrayFill()函数时,总是假定正常的索引方向(从左到右)。这意味着使用ArraySetAsSeries()函数改变数组元素访问顺序的行为将被忽略。

多维数组在由ArrayFill()函数处理时会被视为一维数组。例如,array[2][4]会被处理为array[8]。因此,当处理此数组时,可以将初始元素的索引指定为5。因此,对array[2][4]调用ArrayFill(array, 5, 2, 3.14)会将array[1][1]和array[1][2]元素填充为3.14。

示例:

void OnStart()
  {
//--- declare dynamic array
   int a[];
//--- set size
   ArrayResize(a,10);
//--- fill first 5 elements with 123
   ArrayFill(a,0,5,123);
//--- fill next 5 elements with 456
   ArrayFill(a,5,5,456);
//--- show values
   for(int i=0;i<ArraySize(a);i++) printf("a[%d] = %d",i,a[i]);
  }
最后更新于