Первое решение, вы можете использовать t_list list
, а затем использовать ссылку при вызове функции makenullList
:
makenullList(&list, dim);
Помните, что никогда не бывает свободным list
.
Второе решение, используя указатель, но вы должны выделить для него. В этом случае вам нужно выделить p
в основной функции, а не в функции makenullList
.
p = malloc(sizeof(t_list));
if(!p)
exit(-1);
Никогда не приводите malloc
, как вы делали в своем коде:
p->v = malloc(sizeof(int) * dim) // Do not cast (int *) here
Когда вы все еще не используете p, не забудьте освободить его:
free(p->v);
free(p);