C++関数チュートリアル1の関数基礎

2565 ワード

参考資料:
C++Primer第5版
一.関数ベース
1.1関数とは
関数は1つの命名したコードのブロックで、関数はインタフェースとも呼ばれて、その名の通りで、他の人の呼び出しを便利にします
int Add(int iNumberA, int iNumberB) //iNumberA,iNumberB     
{
    int iTotal = iNumberA + iNumberB;

    return iTotal;
}

1.2関数の構成
4つのセクション:戻りタイプ、関数名、0つ以上のパラメータからなるリスト、関数体(カッコのペアに入れる必要があります)
上の例のように、intは戻りタイプ、Addは関数名、int iNumber A、int iNumber Bはパラメータリスト、中括弧内の2行のコードは関数体
1.3呼び出し関数
int iValA = 5, iValB = 6;
int iCount = Add(iValA, iValB); //iValA, iValB     

呼び出し関数実行の2つの作業:実パラメトリック初期化関数に対応するパラメータは、呼び出された関数に制御権を移行する(プログラムは呼び出された関数を実行し、主関数の実行は一時的に中断される)
return文機能:return文の値を返し、被変調関数からプライマリ変調関数に制御権を移行します.
1.4パラメータと実パラメータ
原則:個数統一、タイプマッチング、順序対応
Add(4); //  ,       1  
Add(4, 5, 6); //  ,       1  
Add("aaa", "bbb"); //  ,      

1.5パラメータリスト
各変数のタイプの説明子はすべて書き出して、任意の2つのパラメータは同名ではありません
1.6戻りタイプ
戻りタイプはvoidで、関数が値を返さないことを示し、戻りタイプは配列や関数タイプではありませんが、配列や関数を指すポインタであってもよい
1.7小練習
1.7.1実関与パラメータの違い:実パラメータは関数に渡される実際の値であり、パラメータは関数によって定義され、主にこの関数に渡される変数のタイプを限定する.
1.7.2関数実装を記述し、ユーザーが数字を入力し、その数字を生成する階乗を計算し、main関数で呼び出しを完了する
//Visual Studio 2017
#include "pch.h"
#include 
#include 

using namespace std;

int Factorial(int iNumber)
{
    int iResult = 1;
    while (iNumber > 1)
    {
        iResult *= iNumber;
        iNumber--;
    }
    return iResult;
}

int main()
{
    cout << "       :";
    int iNum;
    cin >> iNum;
    int iRst = Factorial(iNum);
    cout << "     :" << iRst;
}

1.7.3関数出力実パラメータの絶対値を記述する
int AbsoluteValue(int iNumber)
{
	if (iNumber < 0)
	{
		iNumber = -iNumber;
	}
	return iNumber;
}

1.8ローカルオブジェクト
パラメータと関数内で定義された変数を局所変数と呼び、関数の役割ドメイン内でのみ表示されます.
ブロック実行中にのみ存在するオブジェクトを自動オブジェクトと呼びます
static修飾、ローカル静的オブジェクト、プログラムが終了するまで破棄
小さな練習:
1.8.1パラメータ、ローカル変数、およびローカル静的変数の違いを説明し、関数を記述し、この3つの形式を使用します.
パラメータは局所変数の一種であり、局所変数は関数体内の変数も含み、関数体の内部に作用し、静的局所変数はプログラムが終了したときに破棄される.
int Add(int iNUmA, int iNumB)
{
    static int iTotal = iNumA + iNumB;

    return iTotal;
}

1.8.2関数実装を記述し、最初の呼び出しで0を返し、その後、呼び出されるたびに1を加算します.
int Count()
{
    static int iCount = 0;

    return iCount++;
}

1.9関数宣言
関数宣言はヘッダファイルに配置され、関数体を必要とせず、一度だけ定義され、ソースファイルに配置されます.
1.10分離コンパイル
.hファイルは声明を入れます.cppファイル再生実装
https://blog.csdn.net/dreamerway/article/details/24991099