voidへのポインタは、情報の位置は指し示せるが、
何の情報かまでは示すことができない特別なポインタ型です。
よって使う場合は、実在する型を指すようにキャストしてから使います。
また、他の任意のポインタを、キャストなしで代入などの設定表現が可能です。
このvoidへのポインタを使う代表的な関数群を以下に紹介します。
プロトタイプ宣言 | 概要説明 | ヘッダーfile |
---|---|---|
void *malloc( size_t size ); | sizeバイトの記憶域を要求して、そのアドレスが戻り値です。その位置を変数のような記憶域として取り扱えます。 要求された記憶域が確保できないなど失敗するとNULLを返します。 | stdlib.h |
void free( void * memblock ); | mallocで得られたポインタを引数にして、その記憶域を開放します。 使わなくなった情報は、これで開放して、再びmallocなどで再要求できるように、システムに戻す働きです。 | stdlib.h |