天国にいけるC言語入門 ヘキサ構造体 ver5.2130
構造体を導入します。構造体structure Cubeを定義しcube1の構造体変数宣言structure Cube cube1をおこないます
コンピュータのメモリに効率よくデータを保存、そして使用する為に配列や構造体は作られています😊ゲームでは大量のデータを扱うので大変重宝されます
構造体を導入します。構造体structure Cubeを定義しcube1の構造体変数宣言structure Cube cube1をおこないます
今日は私 solarplexussがおおくりいたします。
ここでは立方体(英語名Cube)を例に構造体の仕組みをみていきましょう。
Cube(立方体)は
縦、横、高さの3つの情報をもっています。
そして
このCubeは
縦=4.0
横=5.0
高さ=6.0
のデータをもっているとします。
さらに
このCubeにはNO=1とナンバー番号がついているとします。
すると
Cube
は
NO=1
縦=4.0
横=5.0
高さ=6.0
の
4つの情報をもっていますね。
このCubeの4つの情報を管理し
プログラムをもちいて表示するには
4つの変数が必要となります
これらの4つの数値データを
4つの変数
no
tate
yoko
takasa
に格納するなら
int no=1;
float tate=4.0;
float yoko=4.0;
float takasa=4.0;
と変数宣言をおこなえばよいですね。
このように
intやfloatの型をもちいて
Cubeの数値情報が4つの変数にとりこまれることになります。
Cubeの数値情報を表示するプログラムは
次のようになります。
#include <stdio.h>
int main (void){
int no=1;
float tate=4.0;
float yoko=5.0;
float takasa=6.0;
printf ("%d\n",no);
printf ("%f\n",tate);
printf ("%f\n",yoko);
printf ("%f\n",takasa);
return 0;
}
コンパイル結果
1
4.000000
5.000000
6.000000
Cubeの数値データ情報を表示できました。
これらの4つの変数を
構造体と構造体変数をもちいて
一括して便利に管理することができます。。
構造体と構造体変数をつかっても
4つの変数に数値データを代入することになります
まずは構造体とはどんなものか
一緒にみていきましょう。
構造体は
以下のように構造体宣言をもちいて
struct 構造体名{
型名 変数名;
型名 変数名;
・
・
・
};
作成することができます。
ここでは構造体名をCubeとします
そして
4つの変数
no
tate
yoko
takasa
を管理する
構造体
struct Cube
を作成していきます。
ここでstruct Cubeのstructは
構造体を宣言するときに
必ずつかわれる文字であり
Cubeは構造体名となります。
構造体名は自由に半角英数字で決めることができます。
構造体名がCubeとなっている構造体の
構造体宣言は以下のようになります。
struct Cube{
int no;
float tate;
float yoko;
float takasa;
};
これで
4つの異なる型を持つ変数宣言
int no;
float tate;
float yoko;
float takasa;
を管理する
構造体struct Cubeを
作成することができました。
ここで構造体を構成している
変数
no
tate
yoko
takasa
を
構造体のメンバ変数といいます。
これで準備段階は終了です。
構造体は構造体変数とともにもちいられて
初めてつかわれることができます。
ここでは
struct Cubeという構造体の
cube1という構造体変数を作製することにします。
cube1という構造体変数を作製するには
struct Cube cube1;
を実行します
struct Cube cube1;
は
cube1の構造体struct Cube型の構造体変数宣言とよびます。
それは
int型の変数aを作製するときの
int a;
つまり
aのint型の変数宣言に相当します。
int a;や
float b;のように
struct Cube cube1 ;
と表記してもちいられます。
この構造体変数も自由に半角英数字で名前を
つけることができます。
struct Cube が構造体
cube1 が構造体変数
ですね。
この構造体変数cube1 は
no
tate
yoko
takasa
という構造体Cubeの4つのメンバ変数を
cube1.no
cube1.tate
cube1.yoko
cube1.takasa
という形で
一括管理することになります。
構造体変数cube1によって管理される
これら4つの変数
cube1.no
cube1.tate
cube1.yoko
cube1.takasa
を構造体変数cube1のメンバ変数といいます。
構造体のメンバ変数が
no
tate
yoko
takasa
で
構造体変数cube1のメンバ変数が
cube1.no
cube1.tate
cube1.yoko
cube1.takasa
ですね。
それではいよいよ
構造体変数cube1のメンバ変数である
cube1.no
cube1.tate
cube1.yoko
cube1.takasa
に立方体Cubeの数値データ
NO=1
縦=4.0
横=5.0
高さ=6.0
を格納していきます。
構造体変数cube1のメンバ変数
cube1.no
cube1.tate
cube1.yoko
cube1.takasa
に数値データを代入するときは
次のように表記します。
cube1.no=1;
cube1.tate=4.0;
cube1.yoko=5.0;
cube1.takasa=6.0;
それでは実際にプログラムを組んで
構造体変数cube1のメンバ変数
cube1.no
cube1.tate
cube1.yoko
cube1.takasa
に立方体Cubeの数値データを代入して
数値データをコマンドプロンプト画面にprintf出力表示してみます。
まずは構造体宣言struct Cubeを記述し
その後main関数を記述していきます。
#include <stdio.h>
struct Cube{
int no;
float tate;
float yoko;
float takasa;
};
int main(void){
struct Cube cube1;/*cube1の構造体変数宣言が行われています*/
cube1.no=1;
cube1.tate=4.0;
cube1.yoko=5.0;
cube1.takasa=6.0;
printf ("%d\n",cube1.no);
printf ("%f\n",cube1.tate);
printf ("%f\n",cube1.yoko);
printf ("%f\n",cube1.takasa);
return 0;
}
コンパイル結果
1
4.000000
5.000000
6.000000
これで構造体struct Cubeを作製し
cube1の構造体変数宣言を行い
立方体Cubeの4つの数値データを
構造体変数cube1のメンバ変数
cube1.no
cube1.tate
cube1.yoko
cube1.takasa
に格納することができました。
後のエピソードにも出てきますが
構造体宣言struct Cubeをmain関数の前で宣言するのは
構造体struct Cubeの構造体変数を
main関数内だけでなく
自作関数内でもつかえるようにするためです。
その場合は
自作関数内でもつかえるよう
自作関数の定義の前に
構造体宣言struct Cubeは
記述されることになります
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます