0

我正在尝试从这篇文章https://stackoverflow.com/a/827749实现环形缓冲区,我添加的唯一代码是一个看起来像这样的 main 。

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

    return (EXIT_SUCCESS);
}

但是,一旦我尝试运行此代码,就会收到 SIGSEV(分段错误)错误。从外观上看,它发生在调用 malloc() 的 cb_init() 的第一行。

4

1 回答 1

3

您需要为my_buff

目前,您正在传递一个未初始化的指针cb_init,然后将其取消引用。

但我相信你一定已经意识到这一点,因为我相信你会尝试在调试器中运行代码......

于 2012-04-27T13:49:35.957 回答