所以我試圖做一個方法來創建一個數據庫。的原型方法如下雙指針分割錯誤
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