typedefの詳細


1、C言語二種類:組み込み型とユーザ定義型
(1)内蔵型:ADT、カスタムタイプ:UDT
の代わりに変数の型の2、typedefの定義(またはリネームと呼ばれる)は、
(1)タイプデータテンプレートは、ある実数変数データです。メモリの種類は計上されず、変数はメモリを占めています。
(2)オブジェクト指向言語:クラスタイプは、クラスは、オブジェクトが可変です。
図3に示すように、型定義との#define区別
チャーのtypedef * PCHAR;
の#define PCHARチャー*
4、定義された方法の構造。
最初の学生構造体
  {
   文字名[20である];
   int型年齢;
  };
 使用のための場合:
     構造体学生S1 ; //構造体の学生が入力され、S1は可変で
  s1.age = 20;
第二学生構造体
  {
   文字名[20である];
   int型年齢;
  } STUDENT_T;
 使用される場合:
     STUDENT_T S1;
  s1.age = 20;
 又は構造体の定義はポインタです:
     構造体PS1の学生*; //構造体へのポインタ
  STUDENT_T * PS1; //構造体のポインタ
第三:構造体のtypedef学生
  {
   文字名[20である];
   int型年齢;
  }学生、* pStudent、
 二つのタイプの定義:
  構造体の第一のタイプは、次の2つがあります。名前:構造体の学生、学生、
  第2の構造ポインタ型である2人の名:構造体の学生*、pStudent;
5、typedefの構造
(1)使用中の構造体の構造タイプを定義することであり、次いで変数の型のための構造を定義します。
(2)C言語構文状態:構造型構造体構造型変数名構造名でなければならない。このように変数を定義します。
(3)のtypedef二種類、構造変数、ポインタ型と構造体変数のタイプ、すなわち一度定義用いて。
6、のtypedefとCONST
のtypedef int型* PINT(1); P2はPINTのCONST、等価INT * CONST P2; // * p2は改変が、P2を変更しないことができる
(2)のtypedef INT * PINT; PINTのCONST P2と、 かなりintへのconst * P2;
(3)あなたはのconst int型* pをしたい場合は、この効果、唯一のconst int型* CPINTのtypedefは、CPINT P1;
7、意味のtypedef使用して
(1)に記載したタイプを簡素化します
* CHAR(*)(char型*、char型*); typedefでのchar *(* PFUNC)(char型*、char型*);
ビルトインタイプ(2)多くのプログラミングシステムでは、人々はint型を使用しない傾向があり、ダブル、などC言語これらのタイプは、プラットフォーム自体(のようなint型に関連付けられているため
、16ビット、16ビット、32ビットマシン上のマシンタイプは、32ビットである場合)。この問題を解決するために、多くのプログラムが実行するカスタム型中間バッファを使用します。
例えば、Linuxカーネルは、カーネルを定義するために、この技術において使用:のtypedef int型size_t型を、次いで、INT代わりに特定の符号化size_tの下で必要。
(3)このような揮発性のtypedef unsigned int型vu32などのすべてのタイプの定義を使用してSTM32ライブラリ。  
 

おすすめ

転載: www.cnblogs.com/jiangtongxue/p/11387850.html