void add(ListType *list, int position, element data)
{
ListNode *p;
if ((position >= 0) && (position <= list->length)) {
ListNode*node = (ListNode*)malloc(sizeof(ListNode));
if (node == NULL) error("메모리 할당에러");
node->data = data;
p = get_node_at(list, position - 1);
insert_node(&(list->head), p, node);
list->length++;
}
}

도오저히 이해가 안 가서 그냥 main 함수부터 시작해서 사다리 타기 하듯 쭈욱 이어져서 가는 중이었는데 여기서 막혔음여.....

ListNode* node를 동적할당 해주고
node->data=data;라고 하는데
이게

(*node).data = data라는 의미라고 알고있는데
이건 새로 할당된 메모리 주소 따라가서 거기에 data변수에다가 기존 data변수를 저장시킨다는 의미?

- dc official App