構造体宣言と構造体名の変更を同時に行ってみます
アレサ「そして
今のプログラム
👇
#include <stdio.h>
struct Cube{
int no;
float tate;
float yoko;
float takasa;
};
int main(void){
typedef struct Cube Cube;
/*ここで構造体名をstruct CubeからCubeに変更しました*/
Cube cube1;
/*ここで cube1の構造体変数宣言を行うことによりcube1を
構造体変数としました。*/
cube1.no=1;
cube1.tate=4.0;
cube1.yoko=5.0;
cube1.takasa=6.0;
/*構造体変数 cube1のメンバ変数に数値データを格納して初期化していきます。*/
printf ("%d\n",cube1.no);
printf ("%f\n",cube1.tate);
printf ("%f\n",cube1.yoko);
printf ("%f\n",cube1.takasa);
return 0;
}
で
構造体名をstruct Cubeから Cubeに変更する際
命令文typedef struct Cube Cube;
を使用しましたが
冒頭の構造体宣言にtypedefを用い
typedef struct Cube{
int no;
float tate;
float yoko;
float takasa;
} Cube;
と記述し
構造体名をstruct Cubeから Cubeに変換する方法もあります。
これは
構造体名をstruct Cubeから Cubeに変換する命令文
typedef struct Cube Cube;
内の
struct Cubeが
struct Cube{
int no;
float tate;
float yoko;
float takasa;
}
におきかわっているというわけです。
この新しく書き換えられた構造体宣言は
プログラム内では次のように冒頭で記述されます。」
#include <stdio.h>
typedef struct Cube
{
int no;
float tate;
float yoko;
float takasa;
} Cube;
/*ここの部分ですね。構造体名を struct CubeからCubeに変更しました*/
int main(void){
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の構造体宣言と
構造体名をstruct Cubeから Cubeに変換する方法が同時に
記述できるんだ。
少しだけ 命令文がみじかくなったかな。
typedefの仕組みを知らない人が
typedef struct Cube
{
int no;
float tate;
float yoko;
float takasa;
} Cube;
を見たらなんのことかわからないかな?
なぜかCubeが最後についてるっ?ておもうかな?」
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます