電脳ミツバチのコンピュータ広報室

銀座の屋上菜園を耕しています。コンピュータ畑も耕します。

typedef

スポンサーリンク

typedefは型を自分の好きな名前で宣言するときに利用するもので、
たとえばunsigned longが書くのがめんどうくさいのでulongとかに変えて
ulong a;とか宣言することでunsigned longを意味するようにします。
具体的な書き方は

#include<stdio.h>
main(){
	typedef unsigned char *str_p;
	str_p cp;
	return 0;
}

こんな感じで書きます。
また何の型か分からなくなったとかでは恥ずかしいので自分(職場)なりの規則にしたがいましょう。
カーニハン(Cの作者)の著書、「プログラミング作法」ではグローバル変数は大文字から始める、ポインタ変数は前後にpをつける、等を推奨しているのでtypedefにも当てはめると便利です。
有効範囲はブロック単位({〜この間〜})で

#include<stdio.h>
void fanc(){
	typedef unsigned char *str_p;
	str_p c_datap;
}
main(){
	str_p cp;
	return 0;
}

こうするとエラーが出てしまいます。
この問題はグローバル領域で宣言することで解決できます。

#include<stdio.h>
typedef unsigned char *str_p;
void fanc(){
	str_p c_datap;
}
main(){

	str_p cp;
	return 0;
}