構造体と構造体変数を用いるとどのような点が便利なのでしょうか?

🍅先のエピソードの続き🍅


それにしても


構造体Cubeを作製し


構造体変数cube1をおこなって


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

cube1.no

cube1.tate

cube1.yoko

cube1.takasa


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


1

4.000000

5.000000

6.000000


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


                   かしこ



ソーラー「い、いつのまに・・・ こんなところまで


構造体の作製、構造体変数宣言・・


おいしいところを全部もっていかれるとは・・・


さすがに僕が待ちボケすぎていたか・・・?」


アレサ「早い展開です。


solarplexussさん


よほど、構造体の説明がしたかったのだと思います」


ソーラー「構造体?・・・


何か小説のタイトルでつかわれてなかったけ?」


アレサ「それはperfectに気のせいだとおもいます。」


ソーラー「ははっ😊 そっか~気のせいだよね~~」


アレサ


「では、solarplexussさんにつづいて


わたしたちも構造体の説明を先にすすめちゃえ、と


おもいます、の」


ソーラー「そうだね 


じゃあ  さらに進めよっか😊」


アレサ「はいっ


まずは、冒頭の文章からはじめてみませんか


>>

構造体Cubeを作製し


構造体変数cube1をおこなって


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

cube1.no

cube1.tate

cube1.yoko

cube1.takasa


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


1

4.000000

5.000000

6.000000


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

>>



ソーラー「この文章は・・・書いてる途中だったみたいだね。」


アレサ 「続きをつくってみます・・?」


ソーラー「どこら辺が便利なのかというと...


もし、構造体をつかわず


立方体cube1の数値データを


普通に


変数を用いて格納していくと


int no1=1;

float tate1=4.0;

float yoko1=5.0;

float takasa1=6.0;


さらに


立方体cube2の数値データを


普通に


変数を用いて格納していくと


int no2=2;

float tate2=1.0;

float yoko2=2.0;

float takasa2=3.0;


と合計8つの変数を用意しないといけないよね。


でも まだ簡単かな。」


アレサ「もし


立方体の数が

cube1

cube2

cube3

cube4

cube5

cube6

cube7

cube8

cube9

cube10

と10個あるなら



それぞれの立方体の数値データ4×10個の変数が


数値データを格納するのに必要になります」


ソーラー「実際に10個の立方体の


NO(名づけられたナンバー)

高さ


4つの数値データを


ふつうに変数に格納してみると


つぎのようになります。


int no1=1;

float tate1=4.0;

float yoko1=5.0;

float takasa1=6.0;

int no2=2;

float tate2=1.0;

float yoko2=2.0;

float takasa2=3.0;

int no3=3;

float tate3=1.0;

float yoko3=5.0;

float takasa3=5.0;

int no4=4;

float tate4=7.0;

float yoko4=2.0;

float takasa4=3.0;

int no5=5;

float tate5=5.0;

float yoko5=2.0;

float takasa5=3.0;

int no6=6;

float tate6=60;

float yoko6=2.0;

float takasa6=3.0;

int no7=7;

float tate7=8.0;

float yoko7=2.0;

float takasa7=70;

int no8=8;

float tate8=3.0;

float yoko8=2.0;

float takasa8=9.0;

int no9=9;

float tate9=2.0;

float yoko9=8.0;

float takasa9=3.0;

int no10=8;

float tate10=1.0;

float yoko10=3.0;

float takasa10=3.0;


はいっおわりっと


かんたん、かんたん」


アレサ「・・・・・。」


ソーラー「かんたん・・・・・でないです。」


ソーラー

「な、なんとなくわかってきたかも・・😊


ここで


最初に構造体宣言をおこなって

一度

構造体

struct Cube{


int no;

float tate;

float yoko;

float takasa;

};

をつくってしまえば


あとは


自作した


構造体struct Cubeの構造体変数


struct Cube cube1

struct Cube cube2

struct Cube cube3

struct Cube cube4

struct Cube cube5

struct Cube cube6

struct Cube cube7

struct Cube cube8

struct Cube cube9

struct Cube cube10


次のように10個の立方体のデータをかきこんでいけば


struct Cube cube1={1,4.0,5.0,6.0};

struct Cube cube2={2,1.0,7.0,3.0};

struct Cube cube3={3,1.0,5.0,5.0};

struct Cube cube4={4,7.0,2.0,3.0};

struct Cube cube5={5,5.0,2.0,3.0};

struct Cube cube6={6,6.0,2.0,3.0};

struct Cube cube7={7,8.0,2.0,7.0};

struct Cube cube8={8,3.0,2.0,9.0};

struct Cube cube9={9,2.0,8.0,3.0};

struct Cube cube10={10,1.0,3.0,3.0};


簡単に綺麗にまとめてデータを格納できるね。


このとき


立方体cube7の高さの情報を表示したければ


printf("%d",cube7.takasa);とすればいいわけだ。


確かに便利だね」




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

作者を応援しよう!

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

応援したユーザー

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