我是靠谱客的博主 耍酷篮球,最近开发中收集的这篇文章主要介绍for和foreach,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(63)

评论列表共有 0 条评论

立即
投稿
返回
顶部