C中链表列表的动态分配

时间:2015-12-23 19:32:03

标签: c arrays linked-list

我需要在数组中保留链表的数量。我已经遵循了类似的问题,但对实现感到困惑,无法正确分配数组。我调试,发现并简化了我的问题:数组的大小始终为1,而不是N。结果,我在尝试使用节点时遇到了分段错误。简化代码:

typedef struct Node {
    int data;
    struct Node *next;
} node;

int main(int argc, char** argv)
{
    node **array;
    int N = 5;
    array = (node **)calloc(N,sizeof(node*));
    printf("Size of array = %d", sizeof(array)/sizeof(array[0]));
    return 0;
}

输出是:

Size of array = 1

当我将数组的静态大小用作node *array[5]时,输出为:

Size of array = 5

感谢您的建议。

0 个答案:

没有答案