c - 在循环之前或循环内定义变量
问题描述
以下两种在 C 中定义 for 循环变量的方法有区别吗?
int i;
for (i = 0; i < X; i++) {
// something
}
和:
for (int i = 0; i < X; i++) {
// something
}
我的偏好是使用第二种方法,如果i
总是扔掉的话,但是有什么理由认为这样做不是一个好主意吗?
解决方案
是的。
由于该i
变量通常仅用于计算所需的迭代次数,因此将变量置于循环范围之外是没有意义的。如果可以的话,应该避免这种情况。
正如对该问题的一些评论所提到的,在某些情况下您不能使用第二个,但这不是一般情况。
至于后来编译到同一个程序集的编译器,这可能是真的,但从概念上讲,第二个更干净,对于从外部读取代码的人来说,它清楚地表明该变量永远不会再次使用。
希望这可以帮助!
推荐阅读
- java - 使用 OpenCV 进行人脸和眼睛检测无法正常工作
- google-apps-script - 有没有办法获取谷歌文档的查看活动?
- sql-server - Apache NiFi 无法加载数据库驱动程序 SQL Server
- sctp - SCTP Protocol (Networking)
- javascript - 如何使用 JavaScript 获取当前登录的用户 ID
- javascript - 在 React Native 中获取“undefined is not and object”
- sql - 在 Big Query 中按“不为空”过滤“Where In”查询
- amazon-web-services - Anzograph 从 S3 存储桶加载数据
- django - /music/4/music_create/ NOT NULL 约束处的 IntegrityError 失败:music_artist.as_pro_id
- r - 如何将NCBI数据库中的条目输出到R中的表中