2012-04-27 66 views
0

我想實現從這個職位https://stackoverflow.com/a/827749環緩衝區,我唯一添加的代碼是一個看起來像這樣的主。C結構指針Seg.fault當malloc()

int main(int argc, char** argv) { 
    circular_buffer *my_buff; 
    cb_init(my_buff, 16, sizeof(char)); 

    return (EXIT_SUCCESS); 
} 

儘管我嘗試運行此代碼,但得到一個SIGSEV(分段錯誤)錯誤。通過它的外觀,它發生在調用malloc()的cb_init()的第一行。

+2

你試過什麼調試? – 2012-04-27 13:47:32

回答

3

您需要爲my_buff

分配內存在你傳遞一個未初始化的指針瞬間變成cb_init,然後取消引用。

但我確定你一定意識到這一點,因爲我確定你會試着在調試器中運行代碼...

+0

我曾嘗試在Netbeans調試器中運行它,但我不知道如何製作所有信息。但是我完全明白你的意思,而且當你說出這些話時這很明顯。謝謝! – evading 2012-04-27 13:57:09

+0

不客氣。 – Nick 2012-04-27 13:59:26