TC官方合作论坛

 找回密码
 立即注册
查看: 946|回复: 6
打印 上一主题 下一主题

[讨论] 为什么那么多人担心全局变量数量

[复制链接]
跳转到指定楼层
楼主
发表于 2012-12-6 17:57:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
为什么那么多人担心全局变量数量?所谓建议少用全局变量,我的理解是为了避免人看代码时出现同名变量作用域不同而出现混乱(用了2天TC好像不允许局部变量和全局变量重名,如果重名会报错该变量已经声明过了,所以不必担心全局变量与局部变量重名)。
C家族的全局变量是放在堆里面的吧,虽然处理速度没有栈快,但是堆很大,对于脚本来说常用变量无非是整型,字符串型或数组,字符串型和数组型没法估计,假设用个比较大的 long double型占16Byte,你1024个这样的变量才占大约16K,有什么好担心的呢?

请高手解答!!!!


:在Windows下,栈是向低地址扩展的数据结构,是一块连续的内存的区域。这句话的意思是栈顶的地址和栈的最大容量是系统预先规定好的,在 WINDOWS下,栈的大小是2M(也有的说是1M,总之是一个编译时就确定的常数),如果申请的空间超过栈的剩余空间时,将提示overflow。因此,能从栈获得的空间较小。
:堆是向高地址扩展的数据结构,是不连续的内存区域。这是由于系统是用链表来存储的空闲内存地址的,自然是不连续的,而链表的遍历方向是由低地址向高地址。堆的大小受限于计算机系统中有效的虚拟内存。由此可见,堆获得的空间比较灵活,也比较大。
回复

使用道具 举报

沙发
发表于 2012-12-6 18:00:32 | 只看该作者
回复 支持 反对

使用道具 举报

板凳
发表于 2012-12-6 18:23:09 | 只看该作者
神马啊。。。。。
回复 支持 反对

使用道具 举报

地板
发表于 2012-12-6 20:53:14 | 只看该作者
牛人啊 搞高级语言的  怎么也跑来玩这二次开发的脚本语言啊
回复 支持 反对

使用道具 举报

5#
发表于 2012-12-12 10:42:57 | 只看该作者
顶一个
回复 支持 反对

使用道具 举报

6#
发表于 2012-12-12 18:36:15 | 只看该作者
大神~请你吃个饭~赏个脸不?
回复 支持 反对

使用道具 举报

7#
发表于 2013-1-7 09:47:08 | 只看该作者
高深,没懂~
回复 支持 反对

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18043773号

GMT+8, 2025-9-19 04:55 , Processed in 0.314724 second(s), 23 queries .

Powered by 海安天坑软件科技有限公司

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表