通常、ポインタ型の変数は、データ型を指定しますが、
データ型を指定せずにポインタ型の変数を宣言する事ができます。
これをvoid型ポインタと呼びます。
void* vp; // void型ポインタの宣言
char c[4] = "123";
int i = 500;
vp = &c; // void型ポインタにchar型ポインタ値を代入
// void型ポインタを使ってchar型変数cの中身を表示
printf("c = %s\n", (char*)vp);
vp = &i; // void型ポインタにint型ポインタ値を代入
// void型ポインタを使ってint型変数iの中身を表示
printf("i = %d\n", *(int*)vp);
|
このようにvoid型ポインタ変数には、どんなポインタ型の値でも入れられます。
void型ポインタ変数を使う時は、どのデータ型で使うかをキャストで示してから使用します。
スポンサードリンク
|