C C 中變數(區域性變數)的宣告和範圍

2021-10-03 06:33:30 字數 1413 閱讀 5907

全域性變數往往在main函式中宣告,其作用範圍為整個**;區域性變數存在於宣告該變數的塊語句或方法結束的右花括號({})之前的作用域內。本文對c#中的一些變數宣告和範圍關係借幾個demo展示出來。

情況一:變數包含產生歧義

根據變數的作用域遵循的原則(區域性變數存在於宣告該變數的塊語句或方法結束的右花括號({})之前的作用域內),第乙個變數j是在for迴圈開始前定義的,它的作用域是main()方法;第二個變數的作用域是在for迴圈;第乙個變數j的作用域包含了第二個j的作用域。對編譯器來說會存在歧義,因為編譯器無法區分這兩個變數,所以不允許宣告第2個 變數。

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading.tasks;

namespace _20200226bianliang}}

}

情況二:變數公升級為「類級變數」

c#在變數之間有乙個基本的區分,類級別宣告的變數看作字段(成員變數),而方法中宣告的變數看作區域性變數。

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading.tasks;

namespace _20200226bianliang

}}

情況三:主函式中引用類級變數

對於情況二,第乙個j通過public定義到main函式之前,「公升級」為類級變數(此時屬於區域性變數),通過下面的這種方法可以實現對類級變數的應用。

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading.tasks;

namespace _20200226bianliang

}}

情況四 :static宣告引入類級變數

如果選擇將字段宣告為 static,這時呼叫時可以直接引入類級變數。

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading.tasks;

namespace _20200226bianliang

}}

c c 全域性變數與區域性變數

在c c 中變數是最基本的成員,也是我們最常用的東西,變數大體上分為全域性變數與區域性變數兩種,全域性變數是在整個程式中都可以使用,而區域性變數只能在最接近定義它的一組大括號內使用,總的來說,在c c 裡面,變數只有定義了並在其生命週期內才能使用。說得有點抽象,給大家看個例子吧。a 全域性變數 in...

Java中的區域性變數和成員變數

類體中的變數分為兩部分。變數定義部分定義的變數為類的成員變數,在方法體中定義的變數和方法中涉及的變數稱為區域性變數。成員變數和區域性變數的區別 成員變數在整個類中有效,區域性變數只在定義它的方法體中有效 成員變數分為 類變數 類成員變數 和 例項變數 例項成員變數 成員變數無需顯示初始化,如果在成員...

區域性變數 全域性變數以及global 宣告

區域性變數 定義在方法內部的變數 全域性變數 在方法外面定義,定義在呼叫之前 全域性變數的定義命名規範 g a 100 global 如果變數是全域性變數,則在方法內部對變數全域性變數修改的化要加關鍵字 wendu 0 defget wendu global wendu 這裡要宣告為全域性變數才能對...