関数は、特定の関数を独立して完了するために再利用できるコードの一部であり、ユーザーによって渡されたデータを受け取ることも、受け取らないこともあります。ユーザーデータを受け取る関数は定義時にパラメーターを指定する必要がありますが、ユーザーデータを受け取らない関数は指定する必要はありません。これに基づいて、関数はパラメーター付き関数とパラメーターなし関数に分類できます。
コードセグメントを関数にカプセル化するプロセスは、関数定義と呼ばれます。
関数の定義には、関数ヘッド (宣言子) と関数ブロックが含まれます。 関数ヘッダーでは、関数の名前、戻り値の型、およびパラメーターの型と名前 (パラメーターがある場合) を指定します。関数ブロック内のステートメントは、関数の動作を指定します。関数定義の一般的な形式は次のとおりです。
上記の形式の関数ヘッダーでは、「name」は関数名を指し、「type」には at が含まれます。少なくとも 1 つの型修飾子。関数の戻り値の型を定義するために使用されます。戻り値の型は void または任意のオブジェクト型にすることができますが、配列型にすることはできません。
さらに、型部分には、関数修飾子 inline または _Noreturn と、ストレージ クラス修飾子 extern および static を含めることもできます。
パラメータなし関数の定義
関数がユーザーから渡されたデータを受け取らない場合は、パラメータなしで関数を定義できます。以下に示すように:
dataType functionName(){ //body }
パラメータ化された関数の定義
関数がユーザーから渡されたデータを受け取る必要がある場合は、関数を定義するときにパラメータを指定する必要があります。以下に示すように:
dataType functionName( dataType1 param1, dataType2 param2 ... ){ //body }
関数はネスト定義できません
C 言語ではネストした関数定義は許可されていません。つまり、関数内で定義することはできません。すべての関数の外側で別の関数を定義する必要があります。 main() も関数定義であり、main() 関数内で新しい関数を定義することはできません。
以上がC言語定義関数の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。