ArrayFill
Hàm này điền giá trị được chỉ định vào một mảng.
void ArrayFill(
void& array[], // mảng
int start, // chỉ số bắt đầu
int count, // số lượng phần tử cần điền
void value // giá trị
);
2
3
4
5
6
Tham số
array[]
[out] Mảng kiểu đơn giản (char, uchar, short, ushort, int, uint, long, ulong, bool, color, datetime, float, double).
start
[in] Chỉ số bắt đầu. Trong trường hợp này, cờ AS_SERIES được chỉ định sẽ bị bỏ qua.
count
[in] Số lượng phần tử cần điền.
value
[in] Giá trị để điền vào mảng.
Giá trị trả về
Không có giá trị trả về.
Ghi chú
Khi hàm ArrayFill()
được gọi, luôn ngụ ý hướng chỉ mục bình thường (từ trái sang phải). Điều này có nghĩa là việc thay đổi thứ tự truy cập vào các phần tử mảng bằng hàm ArraySetAsSeries() sẽ bị bỏ qua.
Một mảng đa chiều được biểu diễn dưới dạng một chiều khi được xử lý bởi hàm ArrayFill()
. Ví dụ, array[2][4]
được xử lý như array[8]
. Do đó, bạn có thể chỉ định chỉ số phần tử bắt đầu bằng 5 khi làm việc với mảng này. Vì vậy, lệnh gọi ArrayFill(array, 5, 2, 3.14)
cho array[2][4]
sẽ điền các phần tử array[1][1]
và array[1][2]
với giá trị 3.14.
Ví dụ:
void OnStart()
{
//--- khai báo mảng động
int a[];
//--- đặt kích thước
ArrayResize(a,10);
//--- điền 5 phần tử đầu tiên với 123
ArrayFill(a,0,5,123);
//--- điền 5 phần tử tiếp theo với 456
ArrayFill(a,5,5,456);
//--- hiển thị giá trị
for(int i=0;i<ArraySize(a);i++) printf("a[%d] = %d",i,a[i]);
}
2
3
4
5
6
7
8
9
10
11
12
13