免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3515 | 回复: 8

能和其它语言一样引用全局变量吗 [复制链接]

论坛徽章:
0
发表于 2007-10-12 16:01 |显示全部楼层
呵呵,我们都知道在C中全局变量如果在函数体中有同名的局部变量,局部变量的优先级则高于全局变量的

int a=10;
int main(void)
{
    int a=20;   /* 这里和全局变量同名 */
}

在main中还有办法得到全局变量的a吗,我一般是尽量避免这种情况,看看其它人有没办法得到,或者就根本不可能的!!大家讨论一下了

[ 本帖最后由 xjtdy888 于 2007-10-12 16:50 编辑 ]

论坛徽章:
0
发表于 2007-10-12 16:06 |显示全部楼层
一直认为规定就是这样的,如果同名,全局变量将被屏闭掉无法得到

论坛徽章:
0
发表于 2007-10-12 16:08 |显示全部楼层
1. 尽量不要这样使用
2. 你想得到就可以得到,你不想就得不到,如此而已

原帖由 xjtdy888 于 2007-10-12 16:06 发表
一直认为规定就是这样的,如果同名,全局变量将被屏闭掉无法得到

论坛徽章:
0
发表于 2007-10-12 16:10 |显示全部楼层
嗯,多谢楼上,不过现在是关于能否得到的问题,其它的一切不管!

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
发表于 2007-10-12 16:31 |显示全部楼层
原帖由 xjtdy888 于 2007-10-12 16:10 发表
嗯,多谢楼上,不过现在是关于能否得到的问题,其它的一切不管!

C语言得不到,所以不要同名(得到全局变量的地址再访问的属于旁门左道,不予理睬)

论坛徽章:
0
发表于 2007-10-12 16:31 |显示全部楼层
你想得到就可以得到

原帖由 xjtdy888 于 2007-10-12 16:10 发表
嗯,多谢楼上,不过现在是关于能否得到的问题,其它的一切不管!

论坛徽章:
0
发表于 2007-10-12 16:35 |显示全部楼层
c++可以,哈哈

论坛徽章:
0
发表于 2007-10-12 16:39 |显示全部楼层
原帖由 xjtdy888 于 2007-10-12 16:01 发表
呵呵,我们都知道在C中全局变量如果在函数体中有同名的局部变量,局部变量的优先级则高于全局变量的

int a=10;
int main(void)
{
    a=20;   /* 这里和全局变量同名 */
}

在main中还有办法得到全局变 ...


楼主没有对定义全局变量同名的变量
你这里是对全局变量的引用!!!(特此拍照)


好好看书,以后不要来这里问这种问题

论坛徽章:
0
发表于 2007-10-12 16:49 |显示全部楼层
哈哈,是我代码写错了呵呵,这也让你拍到!!!我改一下

原帖由 net_robber 于 2007-10-12 16:39 发表


楼主没有对定义全局变量同名的变量
你这里是对全局变量的引用!!!(特此拍照)


好好看书,以后不要来这里问这种问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP