때로는 배열을 사용할 때 크기를 추정할 수 없기 때문에 동적 배열, 즉 사용 중에 배열의 크기를 동적으로 변경하는 것을 생각하기 쉽습니다. 이는 VB에서 구현하기 쉽습니다. 구체적인 예를 들어 설명하겠습니다.
VB에서 동적 배열을 정의하려면 일반적으로 다음 두 단계가 필요합니다.
(1) 폼 레이어나 표준 모듈에서 첨자 없이 배열을 선언하려면 Dim, Private 또는 Public을 사용합니다(괄호는 생략할 수 없음).
(2) ReDim 문을 사용하여 프로세스에서 첨자가 있는 배열을 정의합니다.
ReDim 문의 기능은 배열의 크기를 다시 지정하는 것입니다. 프로그램이 ReDim 문을 실행할 때 저장 공간을 할당합니다.
형식: ReDim(배열 이름)(아래 첨자)[As(유형)]
기능: 동적 배열의 크기와 저장 공간을 변경합니다.
설명하다:
(1) 아래 첨자는 상수이거나 명확한 값을 갖는 변수일 수 있습니다.
(2) 명령문에서 각 매개변수의 의미는 Dim을 사용하여 배열을 정의한 명령문과 동일합니다.
(3) ReDim 문은 동적 배열에만 사용할 수 있으며 각 차원의 크기는 변경할 수 있지만 차원 수는 변경할 수 없습니다.
(4) 프로그램이 컴파일되면 ReDim 문의 모든 배열이 동적 배열로 선언됩니다. 프로그램이 실행 중일 때 ReDim 문이 실행되면 새로운 상한과 하한이 배열에 다시 할당되고 배열 요소의 값이 초기화되며 모든 숫자 요소의 값이 0으로 설정되고, 문자열 요소는 빈 문자로 설정됩니다.
(5) ReDim 문은 Dim 문과 동일하게 배열을 정의할 수 있습니다. 동일한 프로그램에서 ReDim 문을 여러 번 사용할 수도 있습니다. :ReDim 문을 사용하여 배열을 재정의하기 전에 :Erase 문을 사용하여 원래 배열을 삭제할 수 있습니다.
예:
Dimaa()AsLong'은 동적 배열을 정의합니다.
Redimaa(10)'동적 배열의 크기 조정
나는 정수로 어둡게
i=1부터 10까지
aa(i) = 나는
다음
Redim aa(5) '다시 크기 조정
...기타 작업