***


ぶんかつ
定義#テイギ#
とくせい
ローカル変数
関数の内部定義の変数
関数内でのみ使用可能
グローバル変数
関数の外部で定義された変数
このソースファイル内のすべての関数によってアクセスできます.
ローカル変数
定義形式で3種類に分けられます.
  • パラメータ:パラメータの役割ドメインは関数全体で有効です.
  • 関数ローカル変数:変数を定義した場所から有効になり、関数の終了時に失効します.
  • コードブロックローカル変数:この変数を定義した場所から有効になり、コードブロックの終了時に失効します.コードブロックのローカル変数を定義するコードの例:
  • int main(int argc , char * argv[])
    {
        @autoreleasepool{
            {
                //            a,    
                int a;
                //            ,   0
                NSLog(@"       a  : %d" , a);
                //  a    。
                a = 5;
                NSLog(@"       a  : %d" , a);
            }
            //       a      
            NSLog(@"%d" , a);
        }
    }

    グローバル変数
    1つの関数の内部で、グローバル変数とローカル変数が同じ名前の場合、ローカル変数はグローバル変数を上書きします.この場合、この関数の内部では、グローバル変数が無効になります.グローバル変数は複数の関数でデータを共有することができ、どの関数がグローバル変数を変更しても、後続の変数を使用する関数に影響を与え、他の関数が使用する変数の値は変更された値です.この意味では,グローバル変数は各関数がデータを交換する形式である.
    グローバル変数の大量使用を推奨しないのはなぜですか?
    グローバル変数の使用は便利ですが、グローバル変数の大量使用は推奨されません.関数間の結合度が大幅に増加し、関数内部の集約性が低下し、プログラムのメンテナンスが困難になるからです.
    グローバル変数定義は、プログラムの先頭または末尾の部分でどのような違いがありますか?
    グローバル変数の役割ドメインは定義から始まるため、ソースプログラムが終了します.では、ソース・プログラムの先頭部分でグローバル変数を定義すると、プログラム内のすべての関数がグローバル変数にアクセスできます.ソース・プログラムの最後にグローバル変数が定義されている場合.また、前の関数でこれらのグローバル変数を使用する必要がある場合は、これらの関数でグローバル変数を宣言する必要があります.ヒント:グローバル変数の定義とグローバル変数の宣言の違いは、新しい変数を定義するために定義されることです.宣言は、後述するグローバル変数を使用する関数をシステムに伝えることです.宣言グローバル変数externキーワード、構文フォーマット:extern サンプルコード:
    #import 
    
    void change()
    {
        //               
        extern int globalVar;
        globalVar = 20;
    }
    int main(int argc , char * argv[])
    {
        @autoreleasepool{
            //               
            extern int globalVar;
            NSLog(@"%d" , globalVar);
            change();
            NSLog(@"%d" , globalVar);
        }
    }
    //       
    int globalVar;

    外部グローバル変数と内部グローバル変数
    ≪外部グローバル変数|External Global Variable|emdw≫:他のソース・プログラムにアクセスできるグローバル変数.内部グローバル変数:グローバル変数の役割ドメインがソースプログラムの内部に制限されている場合、static修飾を使用します.このstaticによって修飾されたグローバル変数を内部グローバル変数と呼ぶ.
    他のソースファイルで定義されているグローバル変数にアクセスするには、現在のプログラムでグローバル変数を宣言する必要があります.外部グローバル変数を宣言する構文は、extern です.他のソースファイルの関数を呼び出すのと同じように、宣言してから使用します.ただし、開発中に外部グローバル変数を定義するソースファイルのヘッダファイルを#importでインポートすると、さっきのグローバル変数は現在のファイルと同じファイルの下にあるとみなされ、extern宣言を行う必要はありません.