首页 > 解决方案 > C 中的 LInkedList sizeof(Node) 出现奇怪错误

问题描述

我在 sizeof(Node) 内的 Node 构造函数中遇到错误,说“不允许使用类型名称”有什么想法吗?谢谢


struct Node {
    int data;
    Node *next;
};
struct LinkedList {
    Node *first;
    int size;
};

typedef struct Node Node;
typedef struct LinkedList LinkedList;
//constructor for node
Node* createNode(int data) {
    Node * newNode = malloc(sizeOf(Node));
    if (data != NULL) {
        newNode->data = data;
        newNode->next = NULL;
        return newNode;
    }
    return NULL;
}

标签: c

解决方案


malloc(sizeOf(Node))

应该

malloc(sizeof(Node))

我也怀疑还有其他编译器错误;你所要做的

struct Node *

而不是

Node *

推荐阅读