void(ボイド)

void(ボイド)図解 V

voidとは、プログラミング言語において「戻り値がないこと」や「値を持たないこと」を示すために使われるキーワード(予約語)です。C言語やJava、C#など、多くの言語で共通して使われる概念で、日本語では「void(ボイド)」とそのまま読まれます。

現実世界に例えると、voidは「頼まれた作業はきちんと実行するが、結果を報告書として返さない担当者」のようなものです。作業自体は指示どおりに行われますが、呼び出した側に「これが結果です」と渡すものは存在しない、という状態を表しています。

void図解

void(ボイド)図解
※画像をクリックすると拡大表示します。

voidという単語の意味

英単語としての「void」には、もともと「空っぽの」「無効な」といった意味があります。プログラミングにおける値を持たないという状態も、この本来の意味合いをそのまま反映したもので、「何も入っていない」ことを言語仕様として明確に表現するためのキーワードとして採用されています。

voidの主な使われ方

  • 関数の戻り値の型として
    処理は行うが値を返さない関数に対して、戻り値の型をvoidと宣言します。
  • 引数がないことを示す型として
    言語によっては、関数が引数を受け取らないことを明示するために使われます。
  • voidポインタとして
    C言語では、特定の型に限定されない汎用的なポインタを「void*」と表します。

戻り値がある関数との違い

項目 void型の関数 int型などの関数
戻り値 なし 指定した型の値を返す
呼び出し側での受け取り 変数に代入できない 変数に代入して利用できる
主な用途 表示処理や設定変更など 計算結果や判定結果の取得など

voidを使う理由

関数によっては、画面に文字を表示する、ファイルに書き込む、設定値を変更するといった「処理を行うこと自体が目的」であり、呼び出し元に返すべき結果を持たない場合があります。voidを明示的に指定することで、その関数が値を返さないことをコード上ではっきりと示せます。

voidポインタの特徴

C言語における「void*」は、int型やchar型など、特定のデータ型に縛られない汎用的なポインタです。さまざまな型のデータを共通の関数で扱いたい場合などに利用されますが、実際に中身を読み書きする際には、元の型へキャスト(変換)してから使う必要があります。

利用時の注意点

voidを戻り値の型とする関数に対して、その結果を変数に代入しようとするとエラーになります。関数を呼び出す前に、その関数が値を返すのか、それとも処理だけを行うのかを、定義や仕様書で確認しておくことが大切です。

あわせて知っておきたい用語

  • 戻り値:
    関数が処理を終えたあとに、呼び出し元へ返す値のことです。
  • 引数:
    関数を呼び出す際に、その関数へ渡す値のこときす。
  • ポインタ:
    メモリ上のデータの場所(アドレス)を指し示す値です。
  • 関数(Function):
    特定の処理をひとまとめにして、必要なときに呼び出せるようにしたプログラムの部品です。
  • キャスト:
    あるデータ型の値を、別のデータ型として扱えるように変換することです。

コメント

タイトルとURLをコピーしました