C言語におけるvoidとは何ですか?


主な用途としては、以下の2つがあります。

  1. 関数の戻り値: void型を戻り値とする関数は、値を返さないことを示します。つまり、関数が実行されると何らかの処理を行い、結果を返さずに終了します。例えば、画面にメッセージを表示する関数や、ファイルにデータを書き込む関数などがあります。

以下は、void型を戻り値とする関数の例です。

void showMessage() {
    printf("Hello, World!\n");
}
  1. ポインタの型指定子: voidポインタは、特定の型を指定せずにポインタを宣言するために使用されます。他の型のポインタが指すアドレスをvoidポインタに代入することができます。しかし、voidポインタ自体は直接的な参照や演算を行うことはできません。voidポインタを使用する場合、ポインタが指すデータ型を明示的にキャストする必要があります。

以下は、voidポインタの使用例です。

int num = 10;
void *ptr = #  // int型ポインタをvoidポインタに代入
printf("%d\n", *(int*)ptr);  // voidポインタをintポインタにキャストしてデータを参照

以上がC言語におけるvoidの基本的な使い方です。void型は柔軟性があり、さまざまな場面で利用されます。