typedef

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 },
	};
		|
}
カテゴリー: C パーマリンク