C ユーザー定義関数
C ユーザー定義関数
このチュートリアルでは、例を使用して C プログラミングでユーザー定義関数を作成する方法を学習します。
関数は、特定のタスクを実行するコードのブロックです。
C では、必要に応じて関数を定義できます。これらの関数は、ユーザー定義関数と呼ばれます。例:
円を作成し、半径と色に応じて色を付ける必要があるとします。この問題を解決するために 2 つの関数を作成できます:
createCircle()
関数color()
関数
例:ユーザー定義関数
2 つの整数を加算する例を次に示します。このタスクを実行するために、ユーザー定義の addNumbers()
を作成しました .
#include <stdio.h>
int addNumbers(int a, int b); // function prototype
int main()
{
int n1,n2,sum;
printf("Enters two numbers: ");
scanf("%d %d",&n1,&n2);
sum = addNumbers(n1, n2); // function call
printf("sum = %d",sum);
return 0;
}
int addNumbers(int a, int b) // function definition
{
int result;
result = a+b;
return result; // return statement
}
関数プロトタイプ
関数プロトタイプは、関数の名前、パラメーター、および戻り値の型を指定する関数の宣言です。関数本体は含まれません。
関数プロトタイプは、関数が後でプログラムで使用される可能性があるという情報をコンパイラに提供します。
関数プロトタイプの構文
returnType functionName(type1 argument1, type2 argument2, ...);
上記の例では、 int addNumbers(int a, int b);
次の情報をコンパイラに提供する関数プロトタイプです:
addNumbers()
です int
です int
型の 2 つの引数 関数に渡されます
ユーザー定義関数が main()
より前に定義されている場合、関数プロトタイプは必要ありません。 関数。
関数の呼び出し
プログラムの制御は、呼び出しによってユーザー定義関数に移されます。
関数呼び出しの構文
functionName(argument1, argument2, ...);
上記の例では、関数呼び出しは addNumbers(n1, n2);
を使用して行われます main()
内のステートメント 関数。
関数定義
関数定義には、特定のタスクを実行するためのコード ブロックが含まれます。この例では、2 つの数値を加算して返します。
関数定義の構文
returnType functionName(type1 argument1, type2 argument2, ...) { //body of the function }
関数が呼び出されると、プログラムの制御は関数定義に移されます。そして、コンパイラは関数本体内のコードの実行を開始します。
引数を関数に渡す
プログラミングでは、引数は関数に渡される変数を指します。上記の例では、2 つの変数 n1 と n2 関数呼び出し中に渡されます。
パラメータ a と b 関数定義で渡された引数を受け入れます。これらの引数は、関数の仮パラメーターと呼ばれます。
<図>関数に渡される引数の型と仮パラメーターは一致する必要があります。一致しない場合、コンパイラーはエラーをスローします。
n1 の場合 文字型 a です また、char型である必要があります。 n2 の場合 float 型、変数 b です また、float 型にする必要があります。
引数を渡さずに関数を呼び出すこともできます。
返品明細書
return ステートメントは、関数の実行を終了し、呼び出し元の関数に値を返します。プログラム制御は、return ステートメントの後、呼び出し元の関数に移されます。
上記の例では、result の値は 変数はメイン関数に返されます。 合計 main()
の変数 関数にはこの値が割り当てられます。
return ステートメントの構文
return (expression);
たとえば、
return a; return (a+b);
関数から返される値の型と、関数プロトタイプおよび関数定義で指定された戻り値の型は一致する必要があります。
引数を渡し、関数から値を返す方法について詳しくは、このページをご覧ください。
C言語