구조체 변수(Visual Basic)

구조체를 만든 후에는 프로시저 수준 변수와 모듈 수준 변수를 해당 형식으로 선언할 수 있습니다. 예를 들어, 컴퓨터 시스템에 대한 정보를 기록하는 구조체를 만들 수 있습니다. 다음은 이에 대한 예입니다.

Public Structure systemInfo
    Public cPU As String
    Public memory As Long
    Public purchaseDate As Date
End Structure

이제 해당 형식의 변수를 선언할 수 있습니다. 다음 선언에서는 이에 대해 보여줍니다.

Dim mySystem, yourSystem As systemInfo

참고 항목

클래스와 모듈에서 Dim 문을 사용하여 선언된 구조체는 기본적으로 공용 액세스로 설정됩니다. 구조체를 프라이빗으로 설정하려면 Private 키워드를 사용해 선언해야 합니다.

구조체 값에 대한 액세스

구조체 변수의 요소에서 값을 할당해 가져오려면 개체 속성을 설정하고 가져오는 데 사용했던 것과 동일한 구문을 사용합니다. 멤버 액세스 연산자(.)를 구조체 변수 이름과 해당 요소 이름 사이에 배치합니다. 다음 예제에서는 앞서 systemInfo 형식으로 선언했던 변수의 요소에 액세스합니다.

mySystem.cPU = "486"
Dim tooOld As Boolean
If yourSystem.purchaseDate < #1/1/1992# Then tooOld = True

구조 변수 할당

구조체 형식이 동일한 두 변수 중 하나를 나머지 하나에 할당할 수도 있습니다. 이렇게 하면 한 구조체의 모든 요소가 나머지 구조체의 해당 요소에 복사됩니다. 다음 선언에서는 이에 대해 보여줍니다.

yourSystem = mySystem

구조체 요소가 String이나 Object 또는 배열처럼 참조 형식인 경우, 데이터에 대한 포인터가 복사됩니다. 이전 예제에서 systemInfo에 개체 변수가 포함되어 있었다면 이전 예제는 포인터를 mySystem에서 yourSystem으로 복사했을 것이며 한 구조체를 통해 개체 데이터가 변경되면 나머지 구조체를 통해 액세스할 때도 적용되었을 것입니다.

참고 항목