A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 迎着太阳 中级黑马   /  2014-12-9 19:42  /  662 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

例如
{
int a = 10;
}//这是一个代码域,代码块执行结束,内存空间就释放了
但是 ,在循环里也经常有{ },
例如,for(){ } ,这又不是一个代码域,怎么区分呢?

6 个回复

倒序浏览
也是的啊
回复 使用道具 举报
本帖最后由 lnyg1992 于 2014-12-9 20:02 编辑

区分什么啊,代码块里面的变量是局部变量,基本数据类型变量代码块结束都会自动释放
回复 使用道具 举报
非要分的话就是函数域和循环域
回复 使用道具 举报
如果你说的是C语言,那么变量是定义最好是在开始的时候,而不是 for里面,当然也可以用C99编译

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

出了这个循环体,i自动释放了。
回复 使用道具 举报
weizhang00 发表于 2014-12-9 19:52
非要分的话就是函数域和循环域

额 循环域结束 内存空间释放吗?
回复 使用道具 举报
keycola 发表于 2014-12-9 19:55
如果你说的是C语言,那么变量是定义最好是在开始的时候,而不是 for里面,当然也可以用C99编译

for (int i ...

这时候只释放i  在大括号里的变量不释放吧?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马