CUBLOC2는 32비트 아키텍처에 최적화된 5가지 데이터 타입을 지원합니다. (※ String 형은 지원하지 않습니다.)
Dim 명령을 사용하여 변수를 선언하며, 쉼표(,)를 이용한 연속 선언이 가능합니다.
Dim I As Integer ' 단일 변수 선언 Dim A As Byte, B As Integer ' 복수 변수 동시 선언 Dim L As Long ' 64비트 정수 선언 Dim D As Double ' 64비트 실수 선언
변수명은 대소문자를 구분하지 않습니다.
CUBLOC2에서는 기존의 문자열(String) 변수 형식을 지원하지 않는 대신, 1차원 Byte 배열을 사용하여 문자열을 관리합니다.
' 1차원 Byte 배열로 문자열 선언 (명시적 선언) Dim Str() As Byte = "Comfile Technology" ' Byte 자료형 생략 가능 Dim Str() = "Comfile Technology" ' 한글 저장 (UTF-8 인코딩이므로 한 글자당 3바이트입니다.) Dim Str() = "아름다운우리나라" '8글자이지만 24바이트를 차지합니다.
참고: 문자열 끝에 자동으로 Null 문자가 추가되므로, 실제 할당되는 배열의 크기는 (문자열 바이트 길이 + 1)이 됩니다.
CUBLOC2에서 제공하는 배열의 규격과 Sub/Function에서의 활용 방법입니다.
배열 선언 시 크기를 지정하지 않아도, 나열된 초기화 데이터의 개수에 맞춰 배열 크기가 자동으로 결정됩니다. (단, 1차원 배열 초기화 시 적용)
Dim Abc() As Integer = (123,3,2,1,2,3,3)
Dim Ary(10) As Integer ' 1차원 배열 (지원) Dim Ary(10,20) As Integer ' 2차원 배열 (지원) Dim Ary(10,20,30) As Integer ' 3차원 배열 (지원 안 함)
배열을 Sub 또는 Function의 인자로 전달할 수 있습니다. 이때 배열은 참조(Reference) 방식으로 전달되므로, 서브 루틴 내부에서 배열 값을 변경하면 원본 배열의 값도 함께 변경됩니다.
Dim Ary(10) As Integer ' 1차원 배열명을 인자로 사용하여 Sub 호출 AryModify(Ary) Sub AryModify(MyAry() As Integer) ' 참조형으로 전달되었으므로, MyAry의 조작은 원본 전역 변수 Ary에 반영됩니다. MyAry(0) = 1 ' 실제로는 Ary(0)의 값이 1로 변경됨 End Sub
참고: 배열을 인자로 받을 때는 `Sub 명칭(배열명() As 타입)`과 같이 빈 괄호를 사용하여 배열임을 명시해야 합니다.