前回の構造体の方の名前はstrct carと「char」や「int」に比べてとても長いものだったと思います。
そこで、構造体に短く名前を付けることができます。
構造体に名前を付ける
ソースコード
#include<stdio.h>
typedef struct{
int bangou;
double sintyou;
double taizyuu;
}Student;
int main(void)
{
Student a;
a.bangou=1;
a.sintyou=170.4;
a.taizyuu=63.3;
printf("%d番の生徒の身長は%lf、体重は%lfです。\n", a.bangou , a.sintyou , a.taizyuu);
return 0;
}
名前をつける場所は
typedef struct{
int bangou;
double sintyou;
double taizyuu;
}Student;
この中の
typedef
というところです。
これをつけることによって、
構造体の最後に書かれているものを名前として扱うことができます。
ここでは、「Student」という名前にしました。
先頭は大文字でなくてもよいですが、他と見分けをつけやすいように大文字にしたほうがいいでしょう。
※構造体の最後のセミコロンを忘れてしまうことが多々あり余す。注意しましょう。
練習問題
問題1 数字とその数字の頭文字(英語)を出力しなさい。(ただし構造体をつかい名前をSuuziにすること)
ここでは、仮に1番の生徒を対象とする。
練習問題解答
問題1解答
#include
typedef struct{
int bangou;
char kasira;
}Suuzi;
int main(void)
{
Suuzi a;
a.bangou=1;
a.kasira='o';
printf("%dの頭文字は%cです。\n",a.bangou,a.kasira);
return 0;
}
1は英語にするとoneなのでoが出力されればokです。
今回はchar型を使いました。
char型への代入は”で囲まなければなりませんので注意してください。
まとめ
構造体をより簡単にわかりやすく扱うには、名前を付けるとよいでしょう。
いちいちstruct carなんて書くよりはtypedefでCarなどと定義すれば、簡単に扱うとこができます。