typedefは既にある「型」に対して新しい名前をつけ「型」の同義語を作ります。型の用途を分かり易くしたり、型宣言を容易(字数を減らす)にします。
例)用途を分かり易く
ビット演算をする場合には演算対象の変数は「unsigned(符号なし)」であることが条件ですが、ビット演算の対象である事を明示するためにunsigned型として宣言するのではなく、Bits16と言った同義型を作ります。
typedef unsigned char Bits16; //と宣言しておくと、このあとは Bits16 data; //と宣言できます。これは、 unsigned char data; //と宣言することと全く同じです。
例)型宣言を容易に
構造体の宣言では、頭にstructが付くので型名が長くなります。構造変数を多数作る場合には、typedefによりこの手間を省くことが出来ます。
#include <stdio.h>
typedef struct {
int no; // 背番号
char name[20]; // 氏名
double average; // 打率
} SEISEKI;
int main(void)
{
int i;
SEISEKI sensyu1 = { 5, "YAMADA", .302 };
SEISEKI sensyu2[20] = {
{ 1, "HAYASHI", .281 },
{ 2, "SATOH", .275 },
{ 3, "OUCHI", .293 },
};
|
}