回覆列表
  • 1 # 瀟灑男人76

    把變數定義在主函式之外,即把變數設定為全域性的。

    一般我們都把變數的定義放在函式中,因此變數的範圍就是在本函式中。可是如果定義在所有函式的外面,這樣所有的函式中,都可以使用本變數。

    你可以試一下這個程式。定義一個全域性變數a,在主函式中進行賦值,然後在子函式中進行輸出,結果是5.

    #include

    int a;

    void func();//函式宣告

    int main()

    {

    a=5;

    func();

    }

    void func()

    {

    printf("%d\n", a);

    }

    +++++++++++++++++++++++++++++++++++++++++++++++++++

    當然,除了定義全域性變數這個方法,還有其他的方法,那就是指標。在子函式的引數中傳遞變數的地址,依然可以使用該變數,依然能夠改變該變數的值。因為主函式和子函式的變數共用的是同一個地址的變數,因此,不管在哪個函式中對變數進行操作,都會影響變數。

    比如下面這個程式,在主函式中a的值為5,將變數a的地址傳遞過去,子函式將該地址中的變數的值設定為3,然後主函式輸出,結果卻是3.

    #include

    void func(int *b);//函式宣告

    int main()

    {

    int a=5;

    func(&a);//把變數a的地址傳遞過去

    printf("%d\n", a);

    }

    void func(int *b)

    {

    *b=3; //將地址b中變數的值設定為3

    }

  • 中秋節和大豐收的關聯?
  • 扁鵲知道武王不懂醫術討論治療後是什麼反應?