실행이 안되요..ㅠㅠ
god
질문 제목 : 잘못된 부분점 찾아주세요 ㅠㅠ;다른건 문제 없는것 같구 del함수가 문제임질문 내용 : 다른건 문제 없는것 같구 del함수가 문제인데용
del은int val을 받아서 구조체 node의data가val과 같으면 지워버리는 함수에용
연결리스트 이구요 ㅋㅋㅋ
그리구 쓸데없는 부분이 있으면 그 부분도 지적해주시면 새겨 듣겟슴니다 ㅋㅋ 답변 부탁드려요 ~ ㅎㅎ
오류나 경고는 안드는데 실행에서 디버깅오류?? 그런게 뜨네요 ㅠㅠ
#includestdio.h
#includestdlib.h
struct node
{
int data;
struct node* next;
};
struct node* pstart=null;
struct node* pend=null;
void del(int val)
{
int i=0;
struct node* pnode=pstart;
struct node* pdelnode=null;
pnode=(struct node*)malloc(sizeof(struct node));
pdelnode=(struct node*)malloc(sizeof(struct node));
while(pnode-next != null)
{
if(pnode-next-data == val){
pdelnode=pnode-next;
pnode-next=pdelnode-next;
free(pdelnode);
}
pnode=pnode-next;
}
}
void addrear(int val)
{
struct node* current=null;
current=(struct node*)malloc(sizeof(struct node));
current-data=val;
current-next=null;
if(pstart==null){
pstart=pend=current;
}
else{
pend-next=current;
pend=current;
}
}
void addfront(int val)
{
struct node* current=null;
current=(struct node*)malloc(sizeof(struct node));
current-data=val;
current-next=null;
if(pstart==null){
pstart=pend=current;
}
else{
current-next=pstart;
pstart=current;
}
}
void printlist(struct node* current)
{
while(current!=null)
{
printf(%d\n, current-data);
current=current-next;
}
}
int main(void)
{
int i;
for(i=1;i=5;i++){
addfront(i);
}
del(3);
del(1);
printlist(pstart);
return 0;
}
-
CreamyGirl
링크드리스트 삭제 함수에서 malloc함수를 사용하는 것을 처음 봤습니다.
이미 존재하는 링크드리스트에서 검색을 해서 삭제시켜야 하는거 아닌가요?