###
6 データ型

class `_CData`
  この非公開クラスはすべてのctypesデータ型の共通のベースクラスです。 他のものに取り込まれることで、すべてのctypes型インスタンスがはC互換データを 保持するメモリブロックを内部に持ちます。 メモリブロックのアドレスを`addressof()`ヘルパー関数が 返さします。別のインスタンス変数は`_objects`として 公開されます。これはメモリブロックがポインタを含む場合に 存続し続ける必要のある他のPythonオブジェクトを含んでいます。

ctypesデータ型の共通メソッド、すべてのクラスメソッドが存在します(正確には、 メタクラスのメソッドです):

`from_address`( | address)

  このメソッドはaddressによって指定されたメモリを使用している ctypes型のインスタンスを返します。addressは整数でなければならない。

`from_param`( | obj)

  このメソッドはobjをctypes型に適合させます。その型が外部関数の `argtypes`タプルに存在する場合に、実際の外部関数呼び出しに 使われるオブジェクトを与えて呼び出します。 関数呼び出しパラメータとして使えるオブジェクトを返さなければなりません。

  すべてのctypesデータ型にはこのクラスメソッドのデフォルト実装が存在し、 通常は`obj`がその型のインスタンスならそのままを返します。 いくつかの型は他のオブジェクトも受け取ります。

`in_dll`( | library, name)

  このメソッドは共有ライブラリがエクスポートするctypes型のインスタンスを 返します。nameはデータをエクスポートしているシンボル名であり、 libraryはロードされた共有ライブラリです。

ctypesデータ型に共通のインスタンス変数:

`_b_base_`
  時にはctypesデータインスタンスは自信が含まれるメモリブロックを持たないことがあります。 その代わり、ベースオブジェクトのメモリブロックの一部を共有します。 `_b_base_`読み出し専用メンバーがメモリブロックを保有している ルートctypesオブジェクトです。

`_b_needsfree_`
  ctypesデータインスタンスが確保したメモリブロック自体を保有している場合、 この読み出し専用変数は真であり、それ以外では偽です。

`_objects`
  このメンバーは`None`またはPythonオブジェクトが含まれる辞書であり、 Pythonオブジェクトはメモリブロックの内容を有効に保つために、 生き続けている必要があります。このオブジェクトはデバッギングのために エクスポートされているだけです。この辞書の内容を決して変更してはいけません。