構造体の変数 (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 ステートメント (Visual Basic) を使用して宣言した構造体は既定でパブリック アクセスになります。構造体をプライベートにする場合は、Private (Visual Basic) キーワードを使用して宣言します。

構造体の値へのアクセス

構造体変数の要素で値を代入したり取得したりするには、オブジェクトのプロパティの設定や取得に使用する構文を指定します。 メンバー アクセス演算子 (.) は、構造体変数名と要素名の間に配置します。 systemInfo 型として既に宣言されている変数の要素にアクセスする例を次に示します。

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

構造体変数の代入

両方の変数の構造体が同じ型の場合は、ある変数を別の変数に代入できます。 これによって、一方の構造体のすべての要素が、もう一方の構造体の対応する要素にコピーされます。 次に例を示します。

yourSystem = mySystem

構造体の要素が文字列型 (String) やオブジェクト型 (Object) などの参照型である場合は、データへのポインターがコピーされます。 上の例で、systemInfo にオブジェクト変数が含まれていたとすると、mySystem から yourSystem にはポインターがコピーされることになります。そのため、一方の構造体をとおしてオブジェクトのデータに変更を加えると、もう一方の構造体をとおしてアクセスする内容にも変更が反映されます。

参照

処理手順

データ型のトラブルシューティング (Visual Basic)

方法: 構造体を宣言する (Visual Basic)

関連項目

Structure ステートメント

概念

Visual Basic におけるデータ型

複合データ型 (Visual Basic)

値型と参照型

構造体およびその他のプログラミング要素 (Visual Basic)

構造体とクラス (Visual Basic)

その他の技術情報

基本データ型 (Visual Basic)

構造体 (Visual Basic)