プログラマーに聞きたい void(戻り値を返さない)の意味が分からんのやが (945)

←← 掲示板一覧に戻る ← スレッド一覧に戻る

545 エッヂの名無し 2024/12/04(水) 17:28:48.260 ID:8QlloR3Qq

>>29
C言語のvoidと野球で例える
voidとは、C言語で関数の戻り値がないことを示すキーワードです。
野球で例えると
void関数は、ピッチャーがボールを投げ終えて、次のバッターに打席を譲るようなものです。
* ピッチャーの仕事: ボールを投げる(処理を実行する)
* 戻り値: ボールがバットに当たってどこへ飛んでいくか(処理の結果)
* void関数: ピッチャーはボールを投げ終えたら、次のバッターに打席を譲り、特に何も返さない(処理の結果を返さない)
void関数ではない関数は、ピッチャーがボールを投げた後、キャッチャーがボールを受け取り、次のプレーを決めるようなものです。
* キャッチャーの仕事: ボールを受け取る(処理結果を受け取る)
* 戻り値: ボールがどこへ飛んだか、次のプレー(処理の結果)
まとめ
* void関数: 処理を実行するが、その結果を特に返さない関数
* void関数ではない関数: 処理を実行し、その結果を別の変数などに格納したり、次の処理に利用したりする関数
具体例
// void関数 (ピッチャー)
void pitch() {
printf("ボールを投げました\n");
}

// void関数ではない関数 (バッター)
int hit() {
// 乱数でヒットかどうかを判断
int result = rand() % 2;
if (result == 0) {
printf("ヒット!\n");
return 1; // ヒット
} else {
printf("アウト!\n");
return 0; // アウト
}
}