2012-04-27 35 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