C語言中變數的作用域問題

2021-10-04 04:41:19 字數 653 閱讀 7169

c語言中有些變數可以在所有**檔案中使用,有些變數只能在當前的檔案中使用,有些變數只能在函式內部使用,有些變數只能在for 迴圈內部使用。

#include

void

main()

printf

("%d\n"

,a);

}

該**輸出為:

2

1

因此可以得知:

變數的使用遵循就近原則,如果在當前的區域性作用域中找到了同名變數,就不會再去更大的全域性作用域中查詢(被遮蔽)。另外,只能從小的作用域向大的作用域中去尋找變數,而不能反過來,使用更小的作用域中的變數。

#include

void

main()

printf

("%d\n"

, a)

;}

該**的輸出為:

2

2

可以發現main函式中的a被修改後就不再是最先初始化的1了。

C語言中變數的作用域

在c語言中,每個變數都有不同的作用域。變數的作用域可以分為三種 全域性作用域 區域性作用域和塊內作用域。全域性作用域的變數叫全域性變數,全域性變數的生命週期是程式執行的自始至終。它對程式全域性具有可見性。擁有區域性作用域的變數叫做區域性變數,區域性變數的可見性僅限於區域性變數所在的函式模組。在函式語...

c語言中作用域

當變數在程式中的某個部分被宣告時,它只有在程式的一定區域被訪問。這個區域由識別符號 變數 的作用域決定。在c語言中,一共有四種作用域,分別是 塊作用域 檔案作用域 原型作用域和函式作用域。由 標識的區域稱為 塊作用域。在 塊內部宣告的識別符號都具有 塊作用域。各個 塊的作用域不重疊。任何 塊之外的宣...

黑馬程式設計師 C語言中變數作用域問題

asp.net unity開發 net培訓 期待與您交流!示例 一 include int main printf score d n score printf score d n score return 0 輸出結果 score 50 score 100 變數的作用域 從定義變數的那一行 開始,...