局部變量能否和全局變量重名

原文鏈接:https://blog.csdn.net/wyp784035821/article/details/79143593

1、局部變量能否和全局變量重名?   

  答:能,局部會屏蔽全局。要用全局變量,需要使用 ":: " (域解析符)

    局部變量可以與全局變量同名,在函數內引用這個變量時,會用到同名的局部變量,而不會用到全局變量。對於有些編譯器而言,在同一個函數內可以定義多個同名的局部變量,比如在兩個循環體內都定義一個同名的局部變量,而那個局部變量的作用域就在那個循環體內。 

2、如何引用一個已經定義過的全局變量?   

  答:可以用引用頭文件的方式,也可以用extern關鍵字,如果用引用頭文件方式來引用某個在頭文件中聲明的全局變量,假定你將那個變量寫錯了,那麼在編譯期間會報錯,如果你用extern方式引用時,假定你犯了同樣的錯誤,那麼在編譯期間不會報錯,而在連接期間報錯。 


3、全局變量可不可以定義在可被多個.C文件包含的頭文件中?爲什麼?  

  答:可以,在不同的C文件中以static形式來聲明同名全局變量。前提是只能有一個C文件中對此變量賦初值,連接纔不會出錯 
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章