構造体と構造体変数の名前の付け方を一緒に考察してみましょう

ソーラー「きた、きたあ


構造体と構造体変数の名前の付け方あああ」


てんC「はしゃいでおられますね」


ソーラー「こここそが僕のフィールドかな😊


だって


構造体と構造体変数の名前は自由につけられるんだもんね」


てんC「はい そうなんです」


ソーラー「わかりやすくて かっこいい名前がいいな


どんな名前がいいかな?


(´▽`*)(*´▽`*)」



てんC「では😊まず


立方体cube1,cube2があるとします


cube1は

NO=1

縦=4.0

横=5.0

高さ=6.0


cube2は

NO=2

縦=7.0

横=8.0

高さ=9.0


の4つのデータ情報をもっています。


前のエピソードでは


cube1のデータ


NO=1

縦=4.0

横=5.0

高さ=6.0


これらの数値を


cube1の構造体変数宣言


struct Cube cube1;


によって生成される


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


cube1.no

cube1.tate

cube1.yoko

cube1.takasa


cube1.no=1;

cube1.tate=4.0;

cube1.yoko=5.0;

cube1.takasa=6.0;


のように格納して


cout出力表示することができました


同様に


構造体変数cube2の構造体変数宣言を行い


cube2のデータである


NO=2

縦=7.0

横=8.0

高さ=9.0


👆これらの数値を


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


cube2.no

cube2.tate

cube2.yoko

cube2.takasa;

cube2.no=2;

cube2.tate=7.0;

cube2.yoko=8.0;

cube2.takasa=9.0;


と格納しコマンドプロンプト画面にcout出力表示することもできます


立方体cube1も立方体cube2も


同じ

NO

高さ

に関する情報をもっているので


同じ構造体Cube型の


構造体変数cube1,cube2をもちいてデータを1括管理することができます


ところで


1つ前のエピソードで出てきた


この構造体変数の名前cube1 構造体の名前Cubeは


どのように決められたのでしょうか」


ソーラー「や・ま・か・ん かな」


てんC

「そうですね・・・


構造体をつかって


プログラムを構成する際


構造体、構造体変数名は自分でつけることになるのですが


どのように名前をつけていったらよいのでしょうか


1つ前のエピソードで


立方体cube1のデータである


NO=1

縦=4.0

横=5.0

高さ=6.0


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


cube1.no=1;

cube1.tate=4.0;

cube1.yoko=5.0;

cube1.takasa=6.0;


と格納しましたね


このとき

cube1.tate=4.0;は


立方体cube1の縦の長さのデータ4.0をcube1.tateに格納しています

👆

この文章をよくご覧ください


構造体変数の名前の付け方のヒントが隠れています」


ソーラー「えっどこ、どこ?」


てんC


「 "立方体cube1の縦の長さのデータ4.0を"


"構造体変数のメンバ変数に格納する"


のなら


構造体変数名はcube1にすればよいのです。


 cube1     縦の長さのデータ4.0

  ⇕         ⇕

構造体変数名   構造体変数のメンバ変数に格納

 

の関係になっています」


ソーラー「はい(´▽`*) なんかそのまんまです」


てんC「他の例で示すなら


長方形rectangle1,rectangle2となづけられたものがあるなら


それは縦、横のデータ情報を持っています


その縦、横のデータ情報をコンピュータのメモリに格納するには


tate

yoko


の2つの変数が必要になります」


ソーラー「そう、そう」


てんC

「これらの2つの変数を構造体にとりこみ


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


縦、横のデータ情報を格納していくのですが


   


     "長方形rectangle1の縦の長さを"


     "構造体変数のメンバ変数に格納する"



のなら


先程の立方体の時と同様に


構造体変数名はrectangle1にし


縦の長さを


構造体変数のメンバ変数


rectangle1.tateに格納すればよいのです。


そう  おもいませんか


ソーラーさん😊」


ソーラー「いやあ😊まんまそうです」


てんC


「では 構造体名はどのようにつけたらよいでしょうか


逆に類推すると


縦、横のデータ情報をもつものは


長方形であるといえます


そこで


構造体の名前は

Rectangleとします」


ソーラー「おおぅう 冴えてるぅ 」


てんC


「では 複数のデータをもつ物のデータ情報を


構造体と構造体変数をつかってコンピュータのメモリに格納して


cout出力表示してみましょう


そのときの


構造体と構造体変数の名前を一緒に考えてみましょう


ソーラーさん」


ソーラー「もちろん OK いい名前を付けてあげるよ」


てんC

「まずは


ゲームキャラの絵が描いてあるトレーディングカードの


データ情報を


構造体と構造体変数を使ってコンピュータのメモリに格納したのち


そのデータ情報を


コマンドプロンプト画面に


cout出力表示してみましょう


トレーディングカードには


にゃんこ


HP=100

MP=15

AP=7

DP=8


と記載されているとします


先程の例に倣って


構造体名と構造体変数名を決めていきましょう



にゃんこ のトレーディングカードは


HP=100

MP=15

AP=7

DP=8

データ情報を持っています


そのデータ情報をコンピュータのメモリに格納するため

HP

MP

AP

DP

の4つの変数が必要になります


これらの4つの変数を構造体にとりこみ


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


HP=100

MP=15

AP=7

DP=8

のデータ情報

100

15

7

8


を格納していくのですが


  

 

   ”にゃんこのHP=100を構造体変数のメンバ変数に格納する”




ので




構造体変数は構造体変数名をnyannko(にゃんこ)とし


100を構造体変数Nyannkoのメンバ変数


nyannko.HPに格納すればよいのです。



  🍋構造体変数名は最初の1文字目を小文字にします🍋


(💖構造体名は最初の1文字目を大文字にします


そのようにして


構造体と構造体変数の見分けがつきやすいようにします💖)


ソーラー


「簡単だね。にゃんこのHPとnyannko.HPがもろに対応しているよね


では 構造体名はどのようにつけたらよいでしょうか


逆に類推すると


HP

MP

AP

DP

のデータ情報をもつものはたくさん


ありますね。


RPGゲームのゲームキャラデータ

アクションゲームのキャラデータ

シュミレーションゲームのキャラデータなどなど


・・・・・」


solarplexuss(全部ゲームキャラのデータなような気がする・・・)


ソーラー「僕の作ったお料理も


HP

MP

AP

DP

のデータ情報をもってるんだよ


構造体名はすき焼き鍋にしようよ てんC」



てんC

「そうですね それもいいですね


ですが


この状況では


HP

MP

AP

DP

のデータ情報をもつものは


明らかにトレーディングカードです


そこで


構造体の名前は

TradingCardとします



       💖構造体名は最初の一文字は大文字にします💖





ソーラー「にゃおお~~んん🙀


すき焼き鍋は・・・」


てんC


「すき焼き鍋は後ほど作製いたします



構造体変数の名前をnyannko

構造体の名前をTradingCardにきめたところで



にゃんこ


HP=100

MP=15

AP=7

DP=8


のデータ情報を


nyannkoの構造体変数宣言


struct TradingCard Nyannko;


を実行することにより生成される


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


nyannko.HP

nyannko.MP

nyannko.AP

nyannko.DP



格納して


cout出力表示してみますね😊


そのプログラムは次のようになります。


#include <iostream>


using namespace std;



struct TradingCard {


int HP;

int MP;

int AP;

int DP;


};




int main() {


struct TradingCard Nyannko;

/*nyannkoの構造体変数宣言が行われています*/


nyannko.HP = 100;

nyannko.MP = 15;

nyannko.AP = 7;

nyannko.DP = 8;



cout << nyannko.HP << "\n";

cout << nyannko.MP << "\n";

cout << nyannko.AP << "\n";

cout << nyannko.DP << "\n";

return 0;

}


ビルド実行結果

100

15

7

8


てんC「にゃんこのトレーディングカードデータに記載されている


HP=100

MP=15

AP=7

DP=8


の数値データを


構造体変数のメンバ変数

Nyannko.HP

Nyannko.MP

Nyannko.AP

Nyannko.DP


に格納し


cout出力表示することができました


いまのは構造体名と構造体変数名の付け方の1例でした



このように構造体と構造体変数の名前の付け方を


自分できめておくのはたいへん役にたつとおもわれます


その場に応じて


構造体と構造体変数の名前を適当につけると


後で見返したときに何が何だか分からなくなります



先程のプログラムで


構造体名をTradingCardからApple


構造体変数nyannkoからmouse

に変えると

次のようになります



#include <iostream>


using namespace std;



struct Apple

{


int HP;

int MP;

int AP;

int DP;

};


int main(){


struct Apple mouse;

/*Mouseの構造体変数宣言が行われています*/


mouse.HP=100;

mouse.MP=15;

mouse.AP=7;

mouse.DP=8;


cout<<mouse.HP<<"\n";

cout<<mouse.MP<<"\n";

cout<<mouse.AP<<"\n";

cout<<mouse.DP<<"\n";

return 0;

}


ソーラー「構造体はAppleで


構造体変数はmouse


もはや なんのことかさっぱりわからないよね」


てんC

「なんのことだか かなりわかりにくいですね。


そう、


自分なりにわかりやすいように


構造体と構造体変数の名前の付け方を決めておかないと


いつも どのように名前をきめたらよいかわからず


あるときは


先程のプログラムで


構造体名TradingCardData

構造体変数nyannko


だったのを


構造体名Player1

構造体変数player1

としてプログラムを構成してみたり

👇

#include <iostream>


using namespace std;



struct Player1 {


int HP;

int MP;

int AP;

int DP;


};



int main() {


struct Player1 player1;

/*player1の構造体変数宣言が行われています*/


player1.HP = 100;

player1.MP = 15;

player1.AP = 7;

player1.DP = 8;


cout << player1.HP << "\n";

cout << player1.MP << "\n";

cout << player1.AP << "\n";

cout << player1.DP << "\n";

return 0;

}


またあるときは

同じプログラムなのに


先程のプログラムで


構造体名Player1

構造体変数player1

だったのを


構造体名Player

構造体変数Player1

としてプログラムを構成することになります。

👇

#include <iostream>


using namespace std;



struct Player {


int HP;

int MP;

int AP;

int DP;


};



int main() {


struct Player player1;

/*player1の構造体変数宣言が行われています*/


player1.HP = 100;

player1.MP = 15;

player1.AP = 7;

player1.DP = 8;


cout << player1.HP << "\n";

cout << player1.MP << "\n";

cout << player1.AP << "\n";

cout << player1.DP << "\n";

return 0;

}


上の2つのプログラムを見ても


お分かりいただけますように


もうっ なんか いろいろ😊 かなりまぎらわしく


なります。


Player1って何をあらわしていたんだっけ?


あのプログラムでは ああだったっけ・・・?????


という具合になります。


えへへ うちもまぎれてでてきましたよ~ん


わたしも解説したいも~ん。


             ~~~solarplexuss~~~

                       より

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

作者を応援しよう!

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

応援したユーザー

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

新規登録で充実の読書を

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

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

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