每個**塊都有自己的命名規則。外層**塊的名字總是有效的,除非內層的**塊對它進行了重新定義。如果內層**塊的名字進行了重新定義,那麼在這個內層**塊中,外層**塊的名字被隱藏或遮蔽。**塊可以巢狀多層,其深度取決於系統限制。
#include int main()
printf("%3d%3d%5.1f\n",a,b,c); /* 4 4 5.0 */
} printf("%3d%3d%3d\n",a,b,c); /* 4 2 3*/
}
int 變數a是在外層**塊中宣告的,並且再也沒有被重新宣告。因此,它在所有的巢狀**塊中都有效。變數b和c在第一內層**塊中進行了重新定義,因此隱藏了外層的同名變數。在離開這個**塊後,b和c再次表示外層**塊變數,並且它們的值仍然是外層**塊所初始化的值。最內層的**塊對c再次進行了重新定義,因此在這個**塊中,外層的c和次外層的c都被最內層的c所隱藏。
變數(命名規則 作用域)
變數 命名規則 變數名只能使用字母 數字 組成 變數第乙個字元只能使用字母 變數第乙個字元不能使用數字 在這裡插入 片 使用完整的單詞命名,而非縮寫 public class hero public class hero變數的作用域 當乙個變數被宣告在類下面,變數就叫做字段或者屬性 成員變數 fie...
JS作用域及域解析規則
1 js作用域 變數和函式作用的範圍。2 js解析器可以分為域解析和逐行解讀 兩個過程。域解析 1 當進行域解析的時候,一旦找到var,就會提取後面的變數名,並給它賦值給undefined。2 一旦找到function和形參,把整個函式塊賦值給函式名,把形參賦值為undefined 逐行解讀 解讀表...
儲存類和作用域規則
c語言的儲存類分為四種,它們是 auto 自動的,extern 外部的,static 靜態的,register 暫存器的。分程式是由一對花括號擴起來的一段程式,乙個函式就是乙個分程式,乙個復合語句也是乙個分程式。c語言中分程式結構允許並列或巢狀。函式可以看成是最外一層並列的分程式,只是它被命名,並可...