c - 如何检查结构是否已初始化?

标签 c arrays data-structures initialization

我有一个用数据结构实现的表。我的一个重要代码块是这样的(h是数据结构,table是存储其他结构的表):

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

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

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

最佳答案

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

关于c - 如何检查结构是否已初始化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16098577/

相关文章:

c - 如何在 C 中使用动态多维数组?

javascript - JQuery 数组项目不是最后一个

c - 未找到共享库

c - 为什么我在函数中创建的结构被覆盖?

java - 如何将数字存储在数组中?

c++ - 传递多维数组时的链接错误

algorithm - 地理空间查询

algorithm - 更改优先级队列中项目的优先级

c - 纹理不随 OpenGL 旋转 (C)

c - 如何在结果中找到最大数量