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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

for循环和while循环的内存分析有什么不同

7 个回复

倒序浏览
  1. //1.while
  2. int i=0;
  3. while(i<100)
  4. {
  5.    printf("%d\n",i);
  6.    i++;
  7. }
  8. //2.for
  9. for(int i=0;i<100;i++)
  10. {
  11.     printf("%d\n",i);
  12. }

  13. while循环结束i不会被回收
  14. for循环结束后i会被回收
复制代码
回复 使用道具 举报
没什么不同。一般来说,不管你哪种循环,编译器都统一转成一种来编译。在机器码,也就是直接被CPU执行的代码这个层面,for和while是一样的
回复 使用道具 举报
没有什么内存的差别,有差别是在循环变量的地方,如果是知道次数的循环,最好用while,如果循环有其他的要求的用for,不过两者区别不大
回复 使用道具 举报
for循环中的变量在for执行结束后就从内存中消除掉了 无法在后面使用 而while循环执行后变量仍在 可以在后面使用 希望能帮到你
回复 使用道具 举报
应该不会有差异的
回复 使用道具 举报
643665275 来自手机 初级黑马 2014-7-15 21:41:44
7#
for 循环在栈中初始化,并当循环语句结束后 会自动释放。
回复 使用道具 举报
愿望 中级黑马 2014-7-15 21:50:24
8#
这个,你不用纠结啊, 有少次数的循环就while和if  , 有明确的次数, 你就用for呗
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马