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]);
}最后更新于