Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

C / C ++(3.5)の関数


関数は、いくつかの機能を実行し、ある種の結果を生成するという点で、機械のようなものです。同様に、マシンはいくつかの入力を受け取り、その入力を処理して出力を生成します。関数はいくつかの値を取り、それらの値を操作して出力を生成します。人が手動で入力をマシンに渡すと、プログラマーが実行を開始する関数を呼び出すと、マシンだけが同じ方法でその機能を開始します。

関数はさまざまな言語で名前が異なる場合がありますが、-

のような2つの共通の特徴を共有しています。
  • これらには、処理する必要のある一連の命令が含まれています

  • これらの命令は、関数を参照する名前で識別されます

関数が使用される理由

  • 再利用性 −同じ機能が複数の場所で必要な場合、最善のアプローチは、同じ機能を何度も提供する関数を宣言するのではなく、関数を1回作成し、それを複数回呼び出すことです。再利用性は、関数が提供する最大の機能または利点です。

  • コードのモジュール性 −この関数は、main()関数で複数行のコードを記述する代わりに、関数を宣言してコーディングをすっきりと整理し、より明確で読みやすく、コーディングしやすくします。

  • 変更が簡単 −コードに将来変更がある場合、コードを複数の場所に変更する代わりに、プログラマーは関数のみを変更します。したがって、この機能によってデータの冗長性も低下すると言えます

  • 抽象化を提供します- 関数の関連する名前を使用すると、その関数がどのように実行しているかを明らかにする代わりに、その関数が何を実行するかを決定できます。たとえば、Cには、pow()関数を含む複数の関数を含む「maths.h」ヘッダーファイルがあります。この関数が定義で電力値をどのように計算しているかを知る代わりに、この関数を直接使用して電力値を計算できます。

関数の宣言と定義

関数宣言は、コンパイラに関数の戻り型と名前を通知するプロセスです。

構文

体なし

Return_type function_name(parameter list which is optional);

ボディ付き

Return_type function_name(parameter list which is optional)
{
//body of the function
} 

説明

  • return_type −関数が何かを返すかどうか、データを返す場合はどのタイプのデータを返すかをコンパイラに通知します。

void dummy(){
   //since the return type of function is void it willn’t return anything to the caller and hence it willn’t contain return statement.
}
Int dummy(){
   //since the return type of function is int it will return integer value to the caller and it is mandatory that it will contain return statement as it is returning integer value.
   return integer_value;
}
float dummy(){
   //since the return type of function is float it will return floating value to the caller and it is mandatory that it will contain return statement as it is  returning floating value.
   return float_value;
}
を返します

  • 関数名 −関数名は、プログラマーが関数に付けたい任意の名前にすることができます。上記の例のように、関数にダミーという名前を付けました

  • パラメータリスト(オプション) −関数が関数の呼び出し元によって渡された値を操作するときはいつでも、パラメーターを作成する必要があります。

関数の定義 関数が呼び出されるたびに実行するはずの機能が含まれています。

#include<iostream>
using namespace std;
//function that calculates the greatest
//value amongst two parameters
int greatest(int val_1, int val_2) //return type of function is integer value{
   //body of the function(Definition)
   if(val_1>val_2){
      return val_1;
   }
   else{
      return val_2;
   }
}
int main(){
   int val_1=10, val_2=20;
   //calling the function and storing the integer value
   //returned by a function in the integer variable
   int highest = greatest(val_1,val_2);
   //printing the greatest value
   cout<<"The greatest value is : "<<highest;
   //as the return type of main is int,
   //it must have return statement for the compiler
   return 0;
} 

出力

上記のコードの出力は-

になります
The greatest value is : 20

関数パラメーター

  • パラメータはオプションです。パラメータがない場合は、関数もその機能を実行します

  • 関数の呼び出し元から渡された値をキャッチするために関数定義で宣言された変数は、パラメーターと呼ばれます。 int maximum(int val_1、int val_2)

int greatest(int val_1, int val_2)

C / C ++(3.5)の関数

  • 関数の呼び出し元から渡された変数は、引数と呼ばれます。

int highest = greatest(val_1,val_2);

C / C ++(3.5)の関数


  • 実際のパラメータと正式なパラメータ-

    実際のパラメータ 上記の例のように関数に渡されるデータです。10と20は実際のパラメータです

    正式なパラメータ は上記の例のように関数によって受信されたデータであり、val_1とval_2は正式なパラメータです。

関数main()に関する重要なポイント

  • すべてのプログラムには、実行が開始されるエントリポイントがあります。たとえば、CやC ++には、関数main()があります。

  • main()関数の戻り型がvoidの場合、関数はコンパイラに何も返さないことを意味しますが、関数main()の戻り型がintである場合は、コンパイラに値を返します。同様に、プログラムの終了を意味するmain()に「return0」があります。

  • Cの場合-関数main()の戻り型はvoidおよびintにすることができます。これは、main()関数が整数値をコンパイラに返すか、何も返さないためです。

  • C ++の場合-main()関数がコンパイラに整数値を返すため、関数main()の戻り型はintにすることができます。


  1. C /C++のスレッド関数

    このチュートリアルでは、C /C++のスレッド関数を理解するためのプログラムについて説明します。 スレッド関数を使用すると、ユーザーは並行関数を同時に実装できます。並行関数は、実行のために相互に依存することも、独立することもできます。 例 #include <pthread.h> #include <stdio.h> #include <stdlib.h> void* func(void* arg){    //detaching the current thread    pthread_detach(pthrea

  2. C / C ++のSystem()関数

    与えられたタスクは、C / C ++でのsystem()の動作を示すことです。 system()関数は、C /C++標準ライブラリの一部です。コマンドプロセッサまたはオペレーティングシステムの端末で実行できるコマンドを渡すために使用され、完了後に最終的にコマンドを返します。 この関数を呼び出すには、またはを含める必要があります。 構文 構文は次のとおりです- int system(char command) コマンドがエラーなしで実行された場合、この関数はゼロを返します。 例 Input: system(“date”) Output: The current d