簡體   English   中英

為什么全局變量不會掩蓋局部變量(兩者具有相同的名稱)?

[英]Why not global variable won't masks local variable (Both having same name)?

眾所周知,如果兩者具有相同的名稱,則局部變量會掩蓋全局變量的 scope 是一種標准。

例子:-

詮釋 x=10;

主函數()

{

#local variable x 掩蓋了主 function 中全局變量 x 的 scope。

詮釋 x=5;

printf("%d",x);

}

我的問題是,標准背后的原因是什么以及為什么全局變量從不掩蓋局部變量?

用簡單的語言來說,內部變量掩蓋了外部/全局變量,因為我們可以“輕松地”控制它們。 如果全局變量要掩蓋內部變量,那么聲明內部變量就沒有意義了。

您可以在這篇文章https://en.wikipedia.org/wiki/Variable_shadowing中閱讀有關可變陰影/遮罩的更多信息

此行為始終取決於特定語言的名稱解析規則。 某些語言不允許在ifswitch等某些塊中聲明內部變量(同名)。 您可以在此處閱讀更多相關信息 - https://en.wikipedia.org/wiki/Name_resolution_(programming_languages)#Name_masking

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM