機能の簡単な言葉で

関数の定義

     <機能タイプ> <関数名>(仮パラメータ)

{

    機能内容

}

仮パラメータ手段は、これらのパラメータは、実際に存在するが、実際の走行時間が表示されますの代表的なパラメータの形でないことを。パラメータの形式は、次の特性があります。

1)関数を呼び出す機能、データ転送パラメータにより実現される呼び出し先関数の間、パラメータで呼び出されたとき。

2)関数が呼び出されるのみシステムによって割り当てられたメモリへの形状パラメータの関数、関数呼び出し通過を受信するための実際のパラメータを。

#include <QCoreApplication>

int max(int x,int y)
{
    return x>y?x:y;
}

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    int a = 10,b = 9;
    int res = max(a,b); // a,b为实参
    qDebug("%d",res);
    return a.exec();
}

パラメータは、ルールを遵守する必要がある、従来のフォーマルと実際のパラメータは同じ数、同じパラメータのデータ型と引数である必要があり、かつ秩序パラメータ引数は対応していなければなりません。

第二に、関数パラメータの受け渡し

値によって渡された2.1

値渡し、また、通常変数の形で渡されたパラメータ、または引数に割り当てられた式引数可変パラメータがある、伝統的な値として知られています。

伝送パラメータ、引数とパラメータは、もはや任意の接触を持っていない後の値によって渡されています。この時点では引数の式である、という注意は、それが割り当てパラメータの引数には不可能です。関数が呼び出されると、データを受信する各ストレージ装置に割り当てられたシステム・パラメータは、引数が送信されます。関数呼び出し時には、パラメータ、および引数は、それぞれが独立して所有Danyun保存します。機能電気泳動、パラメータ記憶部に割り当てられた回収システムを終了します。

コールバイコ​​ール機能の利点は、値のみリターン、独立性の強い関数を返すことができ、その外部変数には影響はありません。

参照によって渡さ2.2

参照によって渡され、また参照によってパスとして知られています。すなわち、基準変数別名、別名アクセスは、関連するエイリアスへのアクセス、またはその逆、参照文字&と呼ばれます。

int i;
int &ai = i;// 定义int型引用ai是变量i的别名
ai = 15;//此时i的值也为15

使用参照は、以下の点に注意してください。

1)基準を定義する、それはまた、初期化する必要があり、それは同じタイプに関連付けられた変数を有します。

2)変数に関連付けられた参照。

3)主に参照パラメータと戻り値の関数として使用され 

#include <QCoreApplication>

int max(int &x,int &y)
{
    return x>y?x:y;
}

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    int x = 10,y = 9;
    int res = max(x,y); // x,y为实参
    qDebug("%d",res);
    return a.exec();
}

Xは、医療引数、Y bは引数への参照であり、それらは、異なる知識名を同じメモリセルを占有します。次のように参照の主な機能は次のとおりです。

1)効率的な伝送パラメータ値により設定のコピーを回避します。参照渡しは、実際のアドレスを渡されます。

2)returnステートメントの多くても1つの値に戻り、基準値を使用するが、可変引数の複数の形態の変形が可能です。 

 ポインタ2.3方法

ポインタ値を渡すと本質的に同じで渡されると、実際には、作成した関数の実際のパラメータのポインタへのポインタパラメータを渡すことです。差分値によって渡される再関数によって実際のインターアクセス変数の変更を行うために、パラメータのポインタを介して、送信された情報を有するポインタを行うことができない場合、ということです。

#include <QCoreApplication>

int max(int *x,int *y)
{
    return *x>*y?*x:*y;
}

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    int x = 10,y = 9;
    int res = max(&x,&y); // x,y为实参
    qDebug("%d",res);
    return a.exec();
}

第三に、変数のストレージタイプ

第四に、前処理

公開された73元の記事 ウォンの賞賛269 ビュー870 000 +

おすすめ

転載: blog.csdn.net/a8039974/article/details/104076930