Cゼロベースのビデオ-44-静的ローカル変数、静的なグローバル変数、スタティック関数

staticキーワード

ローカルおよびグローバル変数および関数、それぞれ静的ローカル変数、静的グローバル変数と静的関数を変更するために使用することができるさまざまなC言語の静的キーワード、、。

静的ローカル変数

静的ローカル変数を使用して変更、あなたが得る静的ローカル変数を

static int nValue = 0;

静的ローカル変数の特性:

  • 一度だけ初期化
  • あなただけの関数の定義内で使用することができます
void FunTest()
{
    static int nValue = 0;
    nValue++;
    printf("nValue:%d\r\n", nValue);
}


int main(){
    FunTest();
    FunTest();
    FunTest(); 
    FunTest();
    FunTest();
    return 0;
}

グローバル変数は、混乱の原因となった変数の乱用を避けるために、関数呼び出しの数が、また一つだけの機能に制限されたアクセスで情報を送信することができるグローバル変数などの静的ローカル変数の両方。

静的なグローバル変数

あなたが変更され、静的なグローバル変数を使用している場合は、静的なグローバル変数を取得します。同じファイル、静的グローバル変数およびグローバル変数ない差で、アクセスすることができ、いくつかの機能を改変:

static int nValue = 0;

void FunTest1()
{
    nValue++;
    printf("nValue:%d\r\n", nValue);
}

void FunTest2()
{
    nValue *= 100;
    printf("nValue:%d\r\n", nValue);
}


int main(){
    FunTest1();
    FunTest2();
    return 0;
}

グローバル変数は、静的なグローバル変数は例外としてのみ電流cファイルの関数とすることができるアクセス。静的なグローバル変数は、グローバル変数の範囲を制限するものとみなすことができます。

静的機能

あなたは静的関数を取得し、静的変更機能を使用して、静的な機能のみ電流cファイルの機能を呼び出すことができます。

おすすめ

転載: www.cnblogs.com/shellmad/p/11695687.html