構造体の変数

更新 : 2007 年 11 月

構造体を作成したら、その型でプロシージャ レベルの変数およびモジュール レベルの変数を宣言できます。たとえば、コンピュータ システムに関する情報を記録する構造体を作成するとします。次にコード例を示します。

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

これで、この型の変数を宣言できるようになります。次に例を示します。

Dim mySystem, yourSystem As systemInfo
18ytyskd.alert_note(ja-jp,VS.90).gifメモ :

クラス内およびモジュール内では、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 におけるデータ型

複合データ型

構造体とその他のプログラミング要素

構造体とクラス

参照

Structure ステートメント

その他の技術情報

基本データ型

データ型の実装

構造体 : 独自のデータ型