typedefを使い 変数の型名、構造体名などを新しい名前に変更することができます
今まで整数値データを変数に格納するには
次のプログラムのように整数の型intをつかっていました。
#include <stdio.h>
int main(void){
int a=5;
printf("%d\n",a);
return 0;
}
コンパイル結果
5
このプログラムで
typedef 今の型名 新しい型名
をおこなうことにより
今の型名intを
🍎おしゃれな新しい型名cute💖に
かえることができます
次のプログラムでtypedef の使用例をみていきます。
#include <stdio.h>
int main(void){
typedef int cute;
cute a=5;
printf("%d\n",a);
return 0;
}
コンパイル結果
5
アレサ「ソーラーさん、整数値データを格納する変数の型名がintから
おしゃれなcuteにかわっています。」
ソーラー「くぁあわいいね
そうだ ついでに
実数値データを格納する変数の型名もfloatからcasualにかえてみよっと
次の実数値データを格納する変数の型floatを用いたプログラムを
#include <stdio.h>
int main(void){
float b=5.0;
printf("%f\n",b);
return 0;
}
コンパイル結果
5.000000
typedefをもちいて
変数名をfloatからcasualに変更してみます
するとプログラムはこのように
👇
#include <stdio.h>
int main(void){
typedef float casual;
casual b=5.0;
printf("%f\n",b);
return 0;
}
コンパイル結果
5.000000
書き換えることができるんだね。」
アレサ 「
新しい整数値データを格納する変数の型 cuteと
新しい実数値データを格納する変数の型 casualの完成です。」
ソーラー「いいね
もう整数値データを格納する変数の型はintでなくcuteにしてしまおうか?」
アレサ
「変数の型名をintからcuteに変えた
このプログラムを他人にみせたら
また~くわからない・・かも・・・」
ソーラー「それもそうか・・・
じゃあ
整数値データを格納する変数の型intはwolfにしよう🌞
#include <stdio.h>
int main(void){
typedef int wolf;
wolf a=5;
printf("%d\n",a);
return 0;
}
コンパイル結果
5
アレサ「
wolf a=5;
もう、intの代わりだとは気付かれそうもありません」
ソーラー「ちょっと変換しすぎたかな?」
アレサ「
同様に
typedef 今の構造体名 新しい構造体名
をおこなうことにより
今の構造体名を
おしゃれな新しい構造体名にかえることができますの
ここでは、さきのエピソードのプログラムでつかわれた
struct Cube をCubeにかえてみます。
typedef 今の構造体名 新しい構造体名
の
今の構造体名 の部分がstruct Cube
新しい構造体名 の部分がCubeとなります。
それでは
次のプログラムをかきかえてみましょう。
#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
👆
このプログラムはtypedefをつかい
次のようにかきかえられます。
#include <stdio.h>
struct Cube{
int no;
float tate;
float yoko;
float takasa;
};
int main(void){
typedef struct Cube Cube;
Cube cube1;/*ここで構造体名 struct Cubeが Cubeと変更されています*/
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
アレサ
「typedef struct Cube Cube;
を行うことにより
構造体名が
struct Cube から
Cubeに変わっているのがわかります。」
ソーラー「
struct Cube から
appleに構造体名を変更するプログラムを組んでみると
#include <stdio.h>
struct Cube{
int no;
float tate;
float yoko;
float takasa;
};
int main(void){
typedef struct Cube apple;/*ここで構造体名をappleに変更しました*/
apple cube1;/*構造体名 struct Cubeが appleと変更されています*/
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
👆
このようになりますね。」
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます