![](/img/trans.png)
[英]How to access “local” variable when a “global”, “local” and “very local” variable exist having same name
[英]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中閱讀有關可變陰影/遮罩的更多信息
此行為始終取決於特定語言的名稱解析規則。 某些語言不允許在if
和switch
等某些塊中聲明內部變量(同名)。 您可以在此處閱讀更多相關信息 - https://en.wikipedia.org/wiki/Name_resolution_(programming_languages)#Name_masking
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.