工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> C言語

C言語ユーザー定義関数ステップバイステップガイド

C言語ユーザー定義関数ステップバイステップガイド

このチュートリアルでは、Cプログラミングでのユーザー定義関数の作成、プロトタイプ宣言、使用方法を明確な例で学びます。

関数とは?

関数は特定のタスクを実行する自己完結したコードブロックです。C言語では独自の関数、すなわちユーザー定義関数を定義して、プログラム全体で再利用可能なロジックをカプセル化できます。

シナリオ例

半径と選択した色に基づいて円を作成し、色を塗る必要があるとします。これは2つのユーザー定義関数で解決できます:


例: 2つの整数の加算

以下は、ユーザー定義addNumbers()関数を使って2つの整数を加算するシンプルなプログラムです。

#include <stdio.h>
int addNumbers(int a, int b); // 関数プロトタイプ
int main(void) {
    int n1, n2, sum;
    printf("2つの数を入力: ");
    scanf("%d %d", &n1, &n2);
    sum = addNumbers(n1, n2); // 関数呼び出し
    printf("sum = %d\n", sum);
    return 0;
}
int addNumbers(int a, int b) // 関数定義
{
    int result = a + b;
    return result; // return文
}

関数プロトタイプ

関数プロトタイプは、関数の名前、戻り値の型、パラメータを宣言し、定義の前にコンパイラにその存在を知らせます。関数本体は含みません。

構文

戻り値の型 関数名(型1 引数1, 型2 引数2, ...);

例では、int addNumbers(int a, int b);がaddNumbersがintを返し、2つのintパラメータを取ることをコンパイラに伝えています。

ユーザー定義関数がmain()より前に定義されている場合、プロトタイプは省略可能です。


関数呼び出し

必要な引数を指定して関数を呼び出すことで、制御が関数に移ります。

構文

関数名(引数1, 引数2, ...);

サンプルプログラムでは、addNumbers(n1, n2);がn1とn2の値を関数に渡します。


関数定義

定義には、関数が呼び出されたときに実行される実際のコードが含まれます。

構文

戻り値の型 関数名(型1 引数1, 型2 引数2, ...) {
    // 関数本体
}

addNumbersが呼び出されると、コンパイラはこのブロックにジャンプし、加算を実行して結果を返します。


引数渡し

引数は関数呼び出し時に供給される実際の値です。関数のパラメータがこれらの値を受け取ります。

C言語ユーザー定義関数ステップバイステップガイド

引数の型はパラメータの型と一致しなければならず、不一致の場合コンパイラはエラーを出します。例えばn1がcharなら、対応するパラメータaもcharでなければなりません。

引数が不要な場合、引数なしで関数を呼び出すこともできます。


return文

returnキーワードは関数を終了し、オプションで呼び出し元に値を返します。

構文

return 式;

例では、return result;が合計をmain()に返し、そこではsumに格納されます。

C言語ユーザー定義関数ステップバイステップガイド

戻り値の型が関数の宣言された戻り値の型と一致することを確認してください。

引数渡しと戻り値のより深い洞察については、高度なC関数概念を参照してください。

C言語

  1. C言語ユーザー定義関数の4つの実証済みパターン
  2. C言語で1次元・2次元配列を関数に渡す方法 – 実践ガイド
  3. C言語 標準ライブラリ関数: 実践ガイド
  4. C言語の関数マスター:構造、宣言、ベストプラクティス
  5. C言語ビットフィールド:メモリ効率を最大化するテクニック
  6. C言語ファイルI/O完全ガイド:作成、オープン、管理の実践
  7. C言語可変長引数のマスター:実践ガイド
  8. C#のメソッド:定義、呼び出し、パラメータ渡し、再帰を完全解説
  9. Verilog関数のマスター:効率的なRTL設計のために
  10. MATLAB関数:定義、ワークスペース、入出力
  11. Pythonラムダ関数をマスターする:実例とベストプラクティス