c/c++开发分享如何检查结构是否已初始化?

我有一个表,我正在实现数据结构。 我的代码的一个重要块看起来像这样(h是数据结构,表是存储其他结构的表):

(h->table[hash(key, h->size)] 

当我的代码运行时,一些table [i]将被初始化,而有些则不会。 每当我在尚未初始化的表[i]上测试我的代码时,我得到一个valgrind错误,基本上我说我无法使用未初始化的数组。

我的问题是,我如何检查某个h-> table [i]是否已初始化?

    你不能。 要解决此问题,请始终在使用之前初始化结构(即使所有初始化都将结构设置为已知的“空白”/“未填充”状态)。

    声明结构时,使用calloc或memset将它们全部设置为零,然后比较0或NULL以检查结构是否未使用。

      以上就是c/c++开发分享如何检查结构是否已初始化?相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注(猴子技术宅)。

      本文来自网络收集,不代表猴子技术宅立场,如涉及侵权请点击右边联系管理员删除。

      如若转载,请注明出处:https://www.ssfiction.com/c-cyuyankaifa/546019.html

      发表评论

      电子邮件地址不会被公开。 必填项已用*标注