レッスン07関数

6250 ワード

関数C


機能は、定義された入力と出力のセットを持っているかもしれない再利用可能な論理のブロックです.

組み込み関数


Cプログラミング言語には以下のような標準ライブラリ関数が組み込まれています.
  • printf()
  • rand()
  • #include <stdio.h>
    
    int main() {
      // printf is a standard library function
      printf("Hello built-in functions!");
    }
    

    関数呼び出し


    Cでは関数名を括弧で括って呼び出します.関数が任意の入力値を必要とする場合、1つ以上の引数値を括弧内に置くことができます.
    int incrementBy(int number1, int number2) {
      return number1 + number2;
    }
    
    int main() {
      // The value of myNumber is retrieved by
      // calling the function incrementBy() with
      // the arguments 5 and 2
      int myNumber = incrementBy(5, 2);
    }
    

    返り値の格納


    機能return 値、または関数の出力は、将来の計算に使用する変数に格納することができます.
    int incrementBy(int number1, int number2) {
      return number1 + number2;
    }
    
    int main() {
      // myNumber will hold the return value
      // of increment by, which is 7
      int myNumber = incrementBy(5,2);
    }
    

    機能署名


    ユーザ定義関数は関数シグネチャを使用して定義されます.このシグネチャは、戻り値の型と関数名を括弧内のパラメータで指定します.
    // A function signature includes the
    // return type, function name, and
    // parameter(s) in the parentheses
    int incrementBy(int number1, number2) {
      return number1 + number2;
    }
    

    返り値void


    値を返さない関数は、キーワードvoid 関数シグネチャ内の戻り値型として.
    // void is used since the function
    // printNumnber does not return any value
    void printNumber(int number) {
      printf("Your number is %d\n", number);
    }
    

    返り値


    ユーザ定義関数return 返り値の後に返される値が続く値.返される値の型は、関数シグネチャで指定された戻り値型と一致する必要があります.
    // the return keyword returns the
    // value following the keyword
    int getOne() {
      return 1;
    }
    

    関数パラメータ


    Cでは、ユーザ定義関数はパラメータを使用して入力を指定できます.パラメータは関数シグネチャ括弧内のコンマ区切り変数定義です.
    // number1 and number2 are paramters
    // for the incrementBy function
    void incrementBy(int number1, int number2) {
      return number1 + number2;
    }
    

    関数の型


    関数プロトタイプは、必要な戻り値型とパラメーター型のインターフェイスを指定し、コンパイラが関数を適切に呼び出すことを保証します.関数プロトタイプは、関数宣言をその実装から分離するのに役立ちます.
    // function prototpe
    int increment(int);
    
    // function implmentation
    int increment(int number) {
      return number += 1;
    }