構造体と構造体変数を用いるとどのような点が便利なのでしょうか?
🍅先のエピソードの続き🍅
それにしても
構造体Cubeを作製し
cube1のstruct Cube型の構造体変数宣言
struct Cube cube1;
を実行して
構造体変数cube1を作製して
構造体変数cube1のメンバ変数
cube1.no
cube1.tate
cube1.yoko
cube1.takasa
に
立方体cube1の整数や実数の4つのデータ
1
4.000000
5.000000
6.000000
を格納、一括管理するのにどのように便利な点があるのでしょうか?
かしこ
ソーラー「い、いつのまに・・・ こんなところまで
構造体の作製、構造体変数宣言・・
おいしいところを全部もっていかれるとは・・・
さすがに僕が待ちボケすぎていたか・・・?」
アレサ「早い展開です。
solarplexussさん
よほど、構造体の説明がしたかったのだと思います」
ソーラー「構造体?・・・
何か小説のタイトルでつかわれてなかったけ?」
アレサ「それはperfectに気のせいだとおもいます。」
ソーラー「ははっ😊 そっか~気のせいだよね~~」
アレサ
「では、solarplexussさんにつづいて
わたしたちも構造体の説明を先にすすめちゃえ、と
おもいます、の」
ソーラー「そうだね
じゃあ さらに進めよっか😊」
アレサ「はいっ
まずは、冒頭の文章からはじめてみませんか
>>
構造体Cubeを作製し
cube1のstruct Cube型の構造体変数宣言
struct Cube cube1;
を実行して
構造体変数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 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};
を実行するだけで
簡単に綺麗にまとめて
10個の立方体
cube1
cube2
cube3
cube4
cube5
cube6
cube7
cube8
cube9
cube10
の
NO(名づけられたナンバー)
縦
横
高さ
の
4つの数値データを
メモリに格納することができるというわけです。
このとき
立方体cube7の高さの情報を表示したければ
printf("%d",cube7.takasa);とすればいいわけだ。
確かに便利だね」
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます