TC官方合作论坛

标题: 为什么那么多人担心全局变量数量 [打印本页]

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

请高手解答!!!!


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

作者: TC管理员    时间: 2012-12-6 18:00

作者: 554354854    时间: 2012-12-6 18:23
神马啊。。。。。
作者: jimye0526    时间: 2012-12-6 20:53
牛人啊 搞高级语言的  怎么也跑来玩这二次开发的脚本语言啊
作者: zhou1033675108    时间: 2012-12-12 10:42
顶一个
作者: myc9527    时间: 2012-12-12 18:36
大神~请你吃个饭~赏个脸不?
作者: csc100    时间: 2013-1-7 09:47
高深,没懂~




欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1