voidとは、プログラミング言語において「戻り値がないこと」や「値を持たないこと」を示すために使われるキーワード(予約語)です。C言語やJava、C#など、多くの言語で共通して使われる概念で、日本語では「void(ボイド)」とそのまま読まれます。
現実世界に例えると、voidは「頼まれた作業はきちんと実行するが、結果を報告書として返さない担当者」のようなものです。作業自体は指示どおりに行われますが、呼び出した側に「これが結果です」と渡すものは存在しない、という状態を表しています。
void図解
voidという単語の意味
英単語としての「void」には、もともと「空っぽの」「無効な」といった意味があります。プログラミングにおける値を持たないという状態も、この本来の意味合いをそのまま反映したもので、「何も入っていない」ことを言語仕様として明確に表現するためのキーワードとして採用されています。
voidの主な使われ方
- 関数の戻り値の型として
処理は行うが値を返さない関数に対して、戻り値の型をvoidと宣言します。 - 引数がないことを示す型として
言語によっては、関数が引数を受け取らないことを明示するために使われます。 - voidポインタとして
C言語では、特定の型に限定されない汎用的なポインタを「void*」と表します。
戻り値がある関数との違い
| 項目 | void型の関数 | int型などの関数 |
|---|---|---|
| 戻り値 | なし | 指定した型の値を返す |
| 呼び出し側での受け取り | 変数に代入できない | 変数に代入して利用できる |
| 主な用途 | 表示処理や設定変更など | 計算結果や判定結果の取得など |
voidを使う理由
関数によっては、画面に文字を表示する、ファイルに書き込む、設定値を変更するといった「処理を行うこと自体が目的」であり、呼び出し元に返すべき結果を持たない場合があります。voidを明示的に指定することで、その関数が値を返さないことをコード上ではっきりと示せます。
voidポインタの特徴
C言語における「void*」は、int型やchar型など、特定のデータ型に縛られない汎用的なポインタです。さまざまな型のデータを共通の関数で扱いたい場合などに利用されますが、実際に中身を読み書きする際には、元の型へキャスト(変換)してから使う必要があります。
利用時の注意点
voidを戻り値の型とする関数に対して、その結果を変数に代入しようとするとエラーになります。関数を呼び出す前に、その関数が値を返すのか、それとも処理だけを行うのかを、定義や仕様書で確認しておくことが大切です。
あわせて知っておきたい用語
- 戻り値:
関数が処理を終えたあとに、呼び出し元へ返す値のことです。 - 引数:
関数を呼び出す際に、その関数へ渡す値のこときす。 - ポインタ:
メモリ上のデータの場所(アドレス)を指し示す値です。 - 関数(Function):
特定の処理をひとまとめにして、必要なときに呼び出せるようにしたプログラムの部品です。 - キャスト:
あるデータ型の値を、別のデータ型として扱えるように変換することです。



コメント