黑马程序员技术交流社区

标题: 关于代码域的疑问 [打印本页]

作者: 迎着太阳    时间: 2014-12-9 19:42
标题: 关于代码域的疑问
例如
{
int a = 10;
}//这是一个代码域,代码块执行结束,内存空间就释放了
但是 ,在循环里也经常有{ },
例如,for(){ } ,这又不是一个代码域,怎么区分呢?
作者: 从今以后    时间: 2014-12-9 19:46
也是的啊
作者: lnyg1992    时间: 2014-12-9 19:50
本帖最后由 lnyg1992 于 2014-12-9 20:02 编辑

区分什么啊,代码块里面的变量是局部变量,基本数据类型变量代码块结束都会自动释放
作者: weizhang00    时间: 2014-12-9 19:52
非要分的话就是函数域和循环域
作者: keycola    时间: 2014-12-9 19:55
如果你说的是C语言,那么变量是定义最好是在开始的时候,而不是 for里面,当然也可以用C99编译

for (int i ; i < 10 ;i++ )
{
}

出了这个循环体,i自动释放了。
作者: 迎着太阳    时间: 2014-12-10 18:28
weizhang00 发表于 2014-12-9 19:52
非要分的话就是函数域和循环域

额 循环域结束 内存空间释放吗?
作者: 迎着太阳    时间: 2014-12-10 18:29
keycola 发表于 2014-12-9 19:55
如果你说的是C语言,那么变量是定义最好是在开始的时候,而不是 for里面,当然也可以用C99编译

for (int i ...

这时候只释放i  在大括号里的变量不释放吧?




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2