#include <stdio.h>
typedef char element;
typedef struct ListNode {
element data;
struct ListNode* next;
} ListNode;
typedef struct ListType {
ListNode* head;
} ListType;
void init(ListType* a) {
a->head = NULL;
}
int isEmpty(ListType* a) {
return a->head == NULL;
}
ListNode* makeNode(element e) {
ListNode* node = (ListNode*)malloc(sizeof(ListNode));
node->data = e;
node->next = NULL;
return node;
}
ListNode* getNode(ListType* a, int pos) {
ListNode* p = a->head;
for (int i = 0; i < pos; i++) {
p = p->next;
}
return p;
}
void insert(ListType* a, int pos, element e) {
ListNode* node = makeNode(e);
if (pos == 0) {
node->next = a->head;
a->head = node;
}
else {
ListNode* before = getNode(a, pos - 1);
node->next = before->next;
before->next = node;
}
}
int main() {
ListType L;
init(&L);
insert(&L, 0, 'a');
return 0;
}
이 코드 실행 시,
-1073741819 코드(0xc0000005) 와 함께 종료되었습니다.
만 뜨고, 정상적으로 코드가 끝나지 않는데, 이유를 모르겠습니다. 도움 주실 고수분 있으신가요 ㅠㅠ
아 malloc이 stdlib.h가 필요하군요 ㅠㅠ 왜 컴파일은 되는 건지 모르겠네
나는 C++ 연습하는 중이라 C는 더더욱 몰루 - dc App