加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

在C/C++中初始化数组是个好习惯吗?

发布时间:2020-12-16 03:16:28 所属栏目:百科 来源:网络整理
导读:我最近遇到一个情况,我需要比较两个文件(黄金和预期)来验证测试结果,即使写入两个文件的数据是相同的,文件不匹配. 在进一步的调查中,我发现有一个结构包含一些整数和一个64字节的char数组,并不是所有的char数组的字节在大多数情况下被使用,而数组中的未使用
我最近遇到一个情况,我需要比较两个文件(黄金和预期)来验证测试结果,即使写入两个文件的数据是相同的,文件不匹配.

在进一步的调查中,我发现有一个结构包含一些整数和一个64字节的char数组,并不是所有的char数组的字节在大多数情况下被使用,而数组中的未使用的字段包含随机数据,导致不匹配.

这让我想起了在C/C++中初始化数组是否是好的做法,就像在Java中完成一样.

解决方法

在使用它们之前初始化内存/变量是一个很好的做法 – 未初始化的变量是通常难以追踪的错误的大来源.

编写所有数据是一个非常好的主意,将其写入文件格式:它保持文件内容更清洁,以便更容易使用,如果有人错误地尝试“使用”未初始化的数据,那么容易出现问题(记住它可能不仅仅是您自己的代码,将来读取数据),并使文件更加可压缩.

在使用变量之前不要初始化变量的唯一好的原因是在性能关键的情况下,初始化在技术上是“不必要的”,并产生了显着的开销.但在大多数情况下,初始化变量不会造成重大损害(特别是如果它们仅在使用之前立即声明),而是通过消除常见的错误来源,为您节省大量开发时间.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读