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. 1차원 배열
Print("+==========================================================+");
Print("배열 크기:");
Print("1. 1차원 배열");
size=ArraySize(one_dim);
PrintFormat("0차원 크기 = %d, Array size = %d",one_dim_size,size);
//--- 2. 다차원 배열
Print("2 다차원 배열");
size=ArraySize(four_dim);
PrintFormat("0차원 크기 = %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("확인:");
Print("0차원 = 배열 크기 / (첫 번째 차원 * 두 번째 차원 * 세 번째 차원)");
PrintFormat("%d = %d / (%d * %d * %d)",size/(d_1*d_2*d_3),size,d_1,d_2,d_3);
//--- 3. 메모리 백업이 포함된 1차원 배열
Print("3. 메모리 백업이 포함된 1차원 배열");
//--- 두 배 값
one_dim_size*=2;
//--- 백업이 포함된 메모리 할당
ArrayResize(one_dim,one_dim_size,reserve);
//--- 크기 인쇄
size=ArraySize(one_dim);
PrintFormat("백업이 있는 크기 = %d, 실제 배열 크기 = %d",one_dim_size+reserve,size);
}
|