#C 言語でのパラメータなし関数の定義
関数がユーザーから渡されたデータを受け取らない場合は、パラメータなしで関数を定義できます。 。以下に示すように:
dataType functionName(){ //body }
dataType は戻り値の型で、int、float、char などの C 言語の任意のデータ型を指定できます。
functionName は関数名であり、識別子の一種であり、命名規則は識別子と同じです。関数名の後の括弧 ( ) は省略できません。
body は関数本体です。これは、関数が実行する必要があるコードであり、関数の主要部分です。文が 1 つだけの場合でも、関数本体は { } で囲む必要があります。
戻り値がある場合は、関数本体の return ステートメントを使用して戻ります。返されるデータのタイプは dataType と同じである必要があります。
たとえば、1 から 100 までの加算結果を計算する関数を定義します:
#include <stdio.h> int sum(){ int i, sum=0; for(i=1; i<=100; i++){ sum+=i; } return sum; } int main(){ int a = sum(); printf("The sum is %d\n", a); return 0; }
実行結果:
The sum is 5050
関数をネストした定義、メインにすることはできません。も関数定義であるため、sum は main の外側に配置する必要があります。関数は最初に定義してから使用する必要があるため、sum は main の前に配置する必要があります。
注: main は関数定義であり、関数呼び出しではありません。実行可能ファイルがメモリにロードされると、システムは main 関数から実行を開始します。つまり、システムは定義した main 関数を呼び出します。
戻り値なし関数
一部の関数は値を返す必要がないか、戻り値の型が不確実 (まれ) です。
void hello(){ printf ("Hello,world \n"); //没有返回值就不需要 return 语句 }
void は C 言語のキーワードで、「空の型」または「型なし」を意味し、多くの場合、return 文がないことを意味します。
C 言語でのパラメータ化された関数の定義
関数がユーザーから渡されたデータを受け取る必要がある場合は、関数を定義するときにパラメータを指定する必要があります。以下に示すように:
dataType functionName( dataType1 param1, dataType2 param2 ... ){ //body }
dataType1 param1, dataType2 param2 ... はパラメータのリストです。関数には、パラメーターを 1 つだけ指定することも、複数のパラメーターを で区切って指定することもできます。パラメータは本質的に変数であり、定義時に型と名前を指定する必要があります。パラメーターなし関数の定義と比較すると、パラメーター化関数の定義にはパラメーター リストが 1 つだけあります。
データはパラメータを通じて関数内部に渡されて処理が行われ、処理完了後に戻り値が関数外部に通知されます。
mからnへの加算結果の計算:
#include <stdio.h> int sum(int m, int n){ int i, sum=0; for(i=m; i<=n; i++){ sum+=i; } return sum; } int main(){ int begin = 5, end = 86; int result = sum(begin, end); printf("The sum from %d to %d is %d\n", begin, end, result); return 0; }
実行結果:
The sum from 5 to 86 is 3731
sum()を定義した場合、パラメータmの値と n は不明です; sum() を呼び出すときに、begin と end の値をそれぞれ m と n に渡します。これは変数に値を代入するのと同じプロセスです。これは次と同等です:
m = begin; n = end;
推奨チュートリアル: C 言語チュートリアル
以上がC言語のカスタム関数の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。