ArraySize
Hàm trả về số lượng phần tử của một mảng được chọn.
cpp
int ArraySize(
const void& array[] // mảng được kiểm tra
);
1
2
3
2
3
Tham số
array[]
[in] Mảng thuộc bất kỳ loại nào.
Giá trị trả về
Giá trị kiểu int.
Ghi chú
Đối với mảng một chiều, giá trị được trả về bởi ArraySize
bằng với ArrayRange(array,0).
Ví dụ:
cpp
void OnStart()
{
//--- tạo mảng
double one_dim[];
double four_dim[][10][5][2];
//--- kích thước
int one_dim_size=25;
int reserve=20;
int four_dim_size=5;
//--- biến phụ trợ
int size;
//--- cấp phát bộ nhớ không có dự trữ
ArrayResize(one_dim,one_dim_size);
ArrayResize(four_dim,four_dim_size);
//--- 1. mảng một chiều
Print("+==========================================================+");
Print("Kích thước mảng:");
Print("1. Mảng một chiều");
size=ArraySize(one_dim);
PrintFormat("Kích thước chiều zero = %d, Kích thước mảng = %d",one_dim_size,size);
//--- 2. mảng đa chiều
Print("2. Mảng đa chiều");
size=ArraySize(four_dim);
PrintFormat("Kích thước chiều zero = %d, Kích thước mảng = %d",four_dim_size,size);
//--- kích thước các chiều
int d_1=ArrayRange(four_dim,1);
int d_2=ArrayRange(four_dim,2);
int d_3=ArrayRange(four_dim,3);
Print("Kiểm tra:");
Print("Chiều zero = Kích thước mảng / (Chiều thứ nhất * Chiều thứ hai * Chiều thứ ba)");
PrintFormat("%d = %d / (%d * %d * %d)",size/(d_1*d_2*d_3),size,d_1,d_2,d_3);
//--- 3. mảng một chiều với dự trữ bộ nhớ
Print("3. Mảng một chiều với dự trữ bộ nhớ");
//--- nhân đôi giá trị
one_dim_size*=2;
//--- cấp phát bộ nhớ với dự trữ
ArrayResize(one_dim,one_dim_size,reserve);
//--- in kích thước
size=ArraySize(one_dim);
PrintFormat("Kích thước với dự trữ = %d, Kích thước thực tế của mảng = %d",one_dim_size+reserve,size);
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41