【发布时间】:2021-09-02 01:21:09
【问题描述】:
每当我尝试打印存储在结构中的值时,都会遇到分段错误。使用 Valgrind,我能够将其缩小到一个代码块,但我不确定我做错了什么。我是否错误地初始化了我的结构?
每当我运行 valgrind 时,它都会告诉我有一个大小为 8 的 invalid write 我说 newList->data = d。
typedef struct List {
struct List *np[Ends]; // next/prev neighbors
Data data;
} *List;
typedef void *Data;
static void put(Data d) {
List newList = malloc(sizeof(List));
newList->data = d;
}
【问题讨论】:
标签: c dll operating-system queue valgrind