所以我试图做一个方法来创建一个数据库。的原型方法如下双指针分割错误
int create(Database **data, int data_size, int data_count, void(*free)(void*));
的功能细节:
如果数据为空或DATA_SIZE为0时,返回FAIL
否则初始化基于参数
其中一个数据字段的数据字段在结构是铲斗**桶(其本质上是桶的阵列,每个都有自己的键/值) 初始化此我做:
*((*data)->buckets) = calloc(data_size, sizeof(Bucket));
但是,我得到这个分段错误,我认为这是我使用指针,但我没有看到我的错在哪里它
编辑:解决。在我的发言前面有一个额外的指针
发表[MCVE ](http://stackoverflow.com/help/mcve),从两行代码中不可能说出来。可能你没有正确分配内存。考虑任何指针指向的内存中的位置。 – 2014-10-28 05:47:33
@MattMcNabb对不起,打错了,修好了。而且我运行了gdb,seg错误来自于访问这些字段。我会将我正在测试的内容添加到OP – 2014-10-28 05:49:37