int型やfloat型などのように構造体struct Cubeの型に構造体変数は格納されます つまり構造体struct Cubeとは変数を格納する型といえます

はい、は~い


まだわたくし solarplexussがおとどけしま~す。


だってたまには解説したいんだもん。


#include <iostream>


using namespace std;


struct Cube {


int no;

float tate;

float yoko;

float takasa;

};


int main() {


struct Cube cube1;/*cube1の構造体変数宣言が行われています*/

cube1.no = 1;

cube1.tate = 4.0;

cube1.yoko = 5.0;

cube1.takasa = 6.0;


cout << cube1.no << "\n";

cout << cube1.tate << "\n";

cout << cube1.yoko << "\n";

cout << cube1.takasa << "\n";

return 0;

}


ビルド実行結果

1

4

5

6


このプログラムで


構造体struct Cubeを作製したあと


cube1の構造体変数宣言struct Cube cube1;

により


構造体変数cube1を作製しました


struct Cube cube1;は


int a;

float b;

と構造は全く同じで


intやfloatと同じく


struct Cubeは変数を収める型の役割をはたしています


ですので


int型の変数がa,b,cといろいろ存在するように


struct Cube型の構造体変数も cube1 cube2 cube3・・と


いろいろ存在します


ここで


cube1の構造体変数宣言


struct Cube cube1;


とは別の


cube2の構造体変数宣言


struct Cube cube2;


を 行うことにより


構造体struct Cubeと


構造体変数cube2を格納する型は


構造体変数cube1を格納する型


構造体struct Cubeと一緒で


構造体変数cube1とは別の


構造体変数cube2を作成してみます。


もちろん


構造体変数cube2にも


メンバ変数が存在し


この場合


構造体変数cube2のメンバ変数は(ドット).演算子をもちいて


cube2.no

cube2.tate

cube2.yoko

cube2.takasa


とあらわされます。


ですので


構造体変数cube2のメンバ変数


cube2.no

cube2.tate

cube2.yoko

cube2.takasa


立方体cube1とは別の立方体cube2のデータ

NOは2

縦 1.0

横 2.0

高さ3.0


cube2.no=2;

cube2.tate=1.0;

cube2.yoko=2.0;

cube2.takasa=3.0;


格納することができます。


このようにして


構造体変数cube1のメンバ変数

構造体変数cube2のメンバ変数に格納された


立方体cube1と立方体cube2のデータを


コマンドプロンプト画面にprintf出力表示してみましょう。


#include <iostream>


using namespace std;


struct Cube {


int no;

float tate;

float yoko;

float takasa;

};


int main() {


struct Cube cube1;/*cube1の構造体変数宣言が行われています*/

cube1.no = 1;

cube1.tate = 4.0;

cube1.yoko = 5.0;

cube1.takasa = 6.0;


struct Cube cube2;

cube2.no = 2;

cube2.tate = 1.0;

cube2.yoko = 2.0;

cube2.takasa = 3.0;


cout << cube1.no << "\n";

cout << cube1.tate << "\n";

cout << cube1.yoko << "\n";

cout << cube1.takasa << "\n";

cout << cube2.no << "\n";

cout << cube2.tate << "\n";

cout << cube2.yoko << "\n";

cout << cube2.takasa << "\n";


return 0;

}


ビルド実行結果

1

4

5

6

2

1

2

3


このエピソードでのポイントは


先程も述べましたが


構造体宣言

struct Cube{


int no;

float tate;

float yoko;

float takasa;

};


で作られた


構造体struct Cube


は他の変数の型


intやfloatのようにあつかえるということです。


変数の型


int


には整数値データを格納する変数aや変数bを格納することができます。


同様に


構造体struct Cubeには


同じ構造の


同じメンバ変数をもつ構造体変数cube1やcube2


を格納することができます。


それにしても


構造体Cubeを作製し


構造体変数cube1をおこなって生成される


構造体変数cube1のメンバ変数

cube1.no

cube1.tate

cube1.yoko

cube1.takasa


立方体cube1の整数や実数の4つのデータ


1

4.000000

5.000000

6.000000


を格納、一括管理するのにどのように便利な点があるのでしょうか?

  • Twitterで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る