回覆列表
-
1 # 山不是山水不是水
-
2 # 六六八八at
不會有衝突的。在區域性變數作用域裡,使用的是區域性變數。在區域性變數作用域外全域性變數作用域裡,使用的是全域性變數。
-
3 # ACME63610374577
C語言可以有全域性變數...
但不代表你要用全域性變數....
C語言不要用任何全域性變數....
這樣你就沒有煩惱了...
-
4 # 心向未知
全域性變數要慎用,看你定義的全域性變數是對整個工程的還是單個檔案的。建議不要甚至禁止使用對整個工程的全域性變數。因為不同的檔案或不同執行緒來回呼叫形容是你的出現崩潰並且很難找出來。對整個檔案的全域性變數最好加上static這樣這個變數就僅僅限制在當前這個檔案中了。區域性變數一般在函式內部定義,注意不要和檔案頭定義的全域性變數重名了,要不機器會分不清的。
-
5 # C語言答疑課堂
C語言中,看你怎麼安放全域性變數和區域性變量了。如果你把全域性變數和區域性變數放在一個程式碼檔案內,那麼就是衝突的。這麼說不明顯,我寫個C程式程式碼你就知道了,如下圖所示:
在這段C程式中,我在主函式main之外定義了一個全域性變數para,並且給了一個初始值1。在C程式主函式main裡面,我又定義了一個變數para,跟主函式之外的那個para是同名。
這裡,C程式主函式外面的那個變數生命週期在整個程式碼中有效,而主函式的這個變數只在主函式內有效。
這也就是說,在C程式主函數里操作para變數,實際上操作的是主函式中的變數,外面的para變數值還是1。在這段C程式中,main函式中的para變數把外面的變數para給遮住了。
所以,同學們在學習C語言時,一定要注意這個全域性變數被區域性同名變數遮住的問題,同時也要了解變數的作用域和生命週期。
不會衝突,也不會報錯。這兩個變數的性質決定不會衝突。但是,需要寫程式的人要自己分清到底是哪個變數在這一時刻是起作用的。