我在分配内存时遇到问题是 Linux 内核空间。我使用以下两个结构创建了一个链表:
struct Node{
char *ptr;
struct Node *next;
};
struct List{
struct Node *head;
struct Node *tail;
};
现在,当我尝试分配一个列表结构[编辑以反映正确的代码]:
struct List *ll = kmalloc(sizeof(struct List), GFP_KERNEL)
我得到:
error: Initializer element is not constant
我在这里做错了什么?我想在我的 List 结构中添加指向节点的指针,所以我可以通过以下方式添加它们:
struct Node n* = kmalloc(sizeof(Node));
n -> ptr = "Blah";
n -> next = NULL;
ll -> head = n;