広告スペース(バナー)
🔧C言語 レッスン
基本文法の基礎8
データ構造とオブジェクト指向7
構文の基本を深める9
関数とデータ構造の応用9
アルゴリズムとテストの基礎8
文字列・数値操作の応用8
実務で役立つ機能8
アルゴリズム練習問題10
レッスン 47 / 68

複数の値を返す関数(構造体)

このレッスンでは、C言語で構造体を使って複数の値を1つの関数から返す方法を学び、戻り値が1つに制限されない柔軟な関数の作り方を理解することを目標にします。「C言語 構造体 複数戻り値」で調べている方向けです。

C言語の関数は1つの値しか直接返せませんが、複数の値をまとめた構造体を返すことで、実質的に複数の値を返せます。最小値と最大値のように、関連する複数の結果をまとめて返したい場合に使います。

サンプルコードでは、typedef struct { int min; int max; } MinMax;という型を定義し、minMax()関数がこの構造体を返すことで、最小値と最大値をまとめて返しています。呼び出し側ではresult.minresult.maxのようにアクセスできます。

初心者がよくつまずくのが、ポインタを使う方法との使い分けです。構造体を丸ごと返す方法と、ポインタ引数経由で複数の値を書き込む方法の2通りがあり、用途に応じて選ぶ必要があります。

実際の開発現場では、他の言語ではタプルやペアで済ませる処理を、C言語では構造体を使って表現するのが一般的な作法です。

📖 お手本コード
✍️ あなたのコード
コードを書いたら「実行する」を押してください

🧪 このサイトではC言語を直接コンパイル・実行できないため、お手本コードと同じ内容を入力できたかをその場で判定します(採点はブラウザ内だけで行われ、どこにも送信されません)。

🎯
ここまでできればゴール達成!
最小値と最大値を同時に返すような、便利な関数が作れるようになります。
広告スペース(バナー)
広告スペース(記事内)