構造体とは
前回はポインタを引数として使う方法について解説しました(前回の記事)。今回から構造体について解説したいと思います。まずは構造体のイメージをラフにつかみましょう。
下記資料が構造体のイメージです。

構造体は自作の変数を作り、その中にメンバー変数と言われる、今まで使ってきたint型などの変数を持つことができます。例えば猫と言う構造体があるとします。猫には名前、身長、体重、年齢など沢山の構成要素があります。これがメンバー変数に相当します。このような考え方をオブジェクトと言います。オブジェクトではイメージしにくい場合は「モノ」とイメージすると良いでしょう。
下記テストコードで構造体動かしてみます。
コード
#include <stdio.h>
//構造体の宣言
struct cat{
char *name; //名前
int weight; //体重
int age; //年齢
};
int main()
{
//構造体の作成
struct cat cat1; //猫1
struct cat cat2; //猫2
//メンバー変数に代入
cat1.name="kyle";
cat1.weight=4;
cat1.age=12;
cat2.name="riri";
cat2.weight=6;
cat2.age=10;
//出力
printf("cat1.name=%s\n",cat1.name);
printf("cat1.weight=%d\n",cat1.weight);
printf("cat1.age=%d\n",cat1.age);
printf("cat2.name=%s\n",cat2.name);
printf("cat2.weight=%d\n",cat2.weight);
printf("cat2.age=%d\n",cat2.age);
return 0;
}
Option Explicit
'構造体の宣言
Type cat
name As String
weight As Integer
age As Integer
End Type
Sub testStruct()
'構造体の作成
Dim cat1 As cat
Dim cat2 As cat
'メンバー変数に代入
cat1.name = "kyle"
cat1.weight = 4
cat1.age = 12
cat2.name = "riri"
cat2.weight = 6
cat2.age = 10
'出力
Debug.Print ("cat1.name=" + CStr(cat1.name))
Debug.Print ("cat1.weight=" + CStr(cat1.weight))
Debug.Print ("cat1.age=" + CStr(cat1.age))
Debug.Print ("cat2.name=" + CStr(cat2.name))
Debug.Print ("cat2.weight=" + CStr(cat2.weight))
Debug.Print ("cat2.age=" + CStr(cat2.age))
End Sub
代入した文字や数字が出力されたと思います。
今回は簡単に構造体の宣言、代入、出力と基本的なことを解説しました。次回は構造体を配列にしてみます。