はじめに
どうも! みなため(@MinatameT)です。
この記事では、構造体(struct)でデータ型を簡単に自作する方法について、説明します。
データ型というのは、intやdoubleのことですね。これらのデータ型を組み合わせた「新しいデータ型」が構造体です。
構造体(struct)の文法
文法
- struct X{ Y }; で構造体を作ることができます。Xは、構造体(新しいデータ型)の名前で、intやfloatに相当します。Yは、構造体(新しいデータ型)の中身です。int a; やfloat b; のように、複数の変数を入れられます。
- int型の変数iを宣言するときは、int i; と書きますよね。それと同様に、struct X型の変数nを宣言するときは、struct X n; と書きます。
- struct X型の変数nの中の変数aを指すときは、「n.a」のように、ドットを使います。
慣れていないと難しいとは思いますが、以下のソースコードと実行結果を確認してみてください。簡単な例にしてあります。
構造体(struct)の使用例
ソースコード
#include<stdio.h>
struct mix //struct mix型
{
int i;
double d;
};
int main(void)
{
struct mix x; //struct mix型の変数x
struct mix y; //struct mix型の変数y
x.i = 3776; //xの中のi = 3776
x.d = 2.72; //xの中のd = 2.72
y.i = 1; //yの中のi = 1
y.d = 3.14; //yの中のd = 3.14
printf("x.i = %d\n",x.i); //int型の表示は%d。
printf("x.d = %lf\n",x.d); //double型の表示は%lf。
printf("y.i = %d\n",y.i); //int型の表示は%d。
printf("y.d = %lf\n",y.d); //double型の表示は%lf。
return(0);
}
データ型(struct mix型)の中に2つのデータ型(int型とdouble型)が入っています。これを理解しておかなければ、あとで本当に混乱してしまいます。
それでは、実行結果を確認します。
実行結果
x.i = 3776
x.d = 2.720000
y.i = 1
y.d = 3.140000
ソースコード内で代入した値が、そのまま表示されました。これで正解です。
このように、構造体(struct)を用いることで、新しいデータ型を自作することができます。
上記の例では1つのint型変数と1つのdouble型変数しか入れていませんが、もっとたくさんの変数を入れることができますので、各自で試してみてください。
今回はここまでです。理解が難しい場合は、構造体を自作してみると良いですね。では、お疲れ様でした。