天国にいけるC言語入門 ヘキサ構造体 ver2.2126
int型やfloat型と同じく構造体struct Cubeの型に構造体変数は格納されます つまり構造体struct Cubeとは変数を格納する型といえます
int型やfloat型と同じく構造体struct Cubeの型に構造体変数は格納されます つまり構造体struct Cubeとは変数を格納する型といえます
はい、は~い
まだわたくし solarplexussがおとどけしま~す。
だってたまには解説したいんだもん。
#include <stdio.h>
struct Cube{
int no;
float tate;
float yoko;
float takasa;
};
int main(void){
struct Cube 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の構造体変数宣言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;
を実行することにより
構造体変数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
に
NOは2
縦 1.0
横 2.0
高さ3.0
の立方体cube1とは別の立方体cube2のデータを
cube2.no=2;
cube2.tate=1.0;
cube2.yoko=2.0;
cube2.takasa=3.0;
と
格納することができます。
このようにして
構造体変数cube1のメンバ変数
と
構造体変数cube2のメンバ変数に格納された
立方体cube1と立方体cube2のデータを
コマンドプロンプト画面にprintf出力表示してみましょう。
#include <stdio.h>
struct Cube{
int no;
float tate;
float yoko;
float takasa;
};
int main(void){
struct Cube 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;
printf ("%d\n",cube1.no);
printf ("%f\n",cube1.tate);
printf ("%f\n",cube1.yoko);
printf ("%f\n",cube1.takasa);
printf ("%d\n",cube2.no);
printf ("%f\n",cube2.tate);
printf ("%f\n",cube2.yoko);
printf ("%f\n",cube2.takasa);
return 0;
}
コンパイル結果
1
4.000000
5.000000
6.000000
2
1.000000
2.000000
3.000000
このエピソードでのポイントは
先程も述べましたが
構造体宣言
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
を格納、一括管理するのにどのように便利な点があるのでしょうか?
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます