概述
for和foreach的联系
for和foreach都是循环结构,
一般for循环需要先知道数组长度再操作,
而foreach不需要。如果一个数组是使用连续的数字最为数组单元的键,那么可以使用for循环结构。如果不确定数组的键或者数组的键有包含字符的,应当使用foreach循环结构。
for和foreach的区别
for每次循环都操作对应索引下的值,对于每个值的改变也都会反映到被遍历的对象中;
而foreach每次操作一个单元,都是将其索引和值分别取到变量中,或者只取出值到一个变量中,然后单独操作放有索引和值的变量,不会影响到被遍历的对象本身。如果要在遍历过程中修改对象中的值,需要在声明是在变量前加&符号。
一般情况下:foreach效率比for高很多,因为for在循环的时候需要进行很多次条件判断,需要花费更多的时间循环。
另外从数组变量的数据结构来看,foreach直接通过结构体中next指针获取下一个值,而for循环需要根据key先进行一次hash才得到值。
只有在固定长度或长度不需要计算的时候for循环效率高于foreach。其他情况下foreach的效率高于for循环。
不过在foreach过程中,对应的数组内容是被锁定的,循环期间不能修改!
最后
以上就是耍酷篮球为你收集整理的for和foreach的全部内容,希望文章能够帮你解决for和foreach所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复