void OnStart()
{
//--- 创建数组
double one_dim[];
double four_dim[][10][5][2];
//--- 大小
int one_dim_size=25;
int reserve=20;
int four_dim_size=5;
//--- 辅助变量
int size;
//--- 分配内存没有备份
ArrayResize(one_dim,one_dim_size);
ArrayResize(four_dim,four_dim_size);
//--- 1. 一维数组
Print("+==========================================================+");
Print("Array sizes:");
Print("1. One-dimensional array");
size=ArraySize(one_dim);
PrintFormat("Zero dimension size = %d, Array size = %d",one_dim_size,size);
//--- 2. 多维数组
Print("2. Multidimensional array");
size=ArraySize(four_dim);
PrintFormat("Zero dimension size = %d, Array size = %d",four_dim_size,size);
//--- 维度大小
int d_1=ArrayRange(four_dim,1);
int d_2=ArrayRange(four_dim,2);
int d_3=ArrayRange(four_dim,3);
Print("Check:");
Print("Zero dimension = Array size / (First dimension * Second dimension * Third dimension)");
PrintFormat("%d = %d / (%d * %d * %d)",size/(d_1*d_2*d_3),size,d_1,d_2,d_3);
//--- 3. 备份内存的一维数组
Print("3. One-dimensional array with memory backup");
//--- 双倍的值
one_dim_size*=2;
//--- 分配备份内存
ArrayResize(one_dim,one_dim_size,reserve);
//--- 打印大小
size=ArraySize(one_dim);
PrintFormat("Size with backup = %d, Actual array size = %d",one_dim_size+reserve,size);
}
|