黑马程序员技术交流社区

标题: for循环和while循环的内存分析有什么不同 [打印本页]

作者: 云霄之上    时间: 2014-7-15 17:28
标题: for循环和while循环的内存分析有什么不同
for循环和while循环的内存分析有什么不同

作者: ⒈心只霸占沵    时间: 2014-7-15 18:03
  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会被回收
复制代码

作者: fantacyleo    时间: 2014-7-15 18:17
没什么不同。一般来说,不管你哪种循环,编译器都统一转成一种来编译。在机器码,也就是直接被CPU执行的代码这个层面,for和while是一样的
作者: 且行且惜    时间: 2014-7-15 18:37
没有什么内存的差别,有差别是在循环变量的地方,如果是知道次数的循环,最好用while,如果循环有其他的要求的用for,不过两者区别不大
作者: AndyWang    时间: 2014-7-15 18:52
for循环中的变量在for执行结束后就从内存中消除掉了 无法在后面使用 而while循环执行后变量仍在 可以在后面使用 希望能帮到你
作者: 达摩八戒    时间: 2014-7-15 20:17
应该不会有差异的
作者: 643665275    时间: 2014-7-15 21:41
for 循环在栈中初始化,并当循环语句结束后 会自动释放。
作者: 愿望    时间: 2014-7-15 21:50
这个,你不用纠结啊, 有少次数的循环就while和if  , 有明确的次数, 你就用for呗




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