링크 된 프로필 목록 (예 : 페이스 북 프로필)에 새 노드를 추가하려고 시도했는데 시작하는 동안 런타임 오류가 발생합니다. 이것이 내가 가진 것입니다 :링크 된 목록에 노드를 추가하려고 시도했습니다.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdlib.h>
typedef struct friend
{
char *name;
int age;
char gender;
struct friend* next;
}friend;
void node_add(friend* new);
int main(int argc, char *argv[])
{
friend amit;
friend* new;
amit.name = "amit";
amit.age = 16;
amit.gender = 'm';
node_add(new);
new->name = "amit";
printf ("name: %s\n", new->name);
system("PAUSE");
return 0;
}
void node_add(friend* new)
{
new = (friend*)malloc(sizeof(friend));
friend* head = new;
new -> next = head;
}
나는 지금 노드 삭제 기능을 만들려고합니다. 나는 사용자가 삭제하려고 않는 노드를 찾은 다음 문제는
delete -> next = delete -> next -> next
을 수행하여 삭제하려고 나는 목록의 첫 번째 노드 얻을 필요가있다. 여기 은 내가 쓴 것입니다 :
void node_delete(friend* delete)
{
friend* temp;
char name[256];
int i = 0, j =0;
printf ("Please enter the friend's name you want to delete: \n");
fgets (name, 256, stdin);
fgets (name, 256, stdin);
while (0 == (strcmp(temp -> next -> name, delete -> next -> name)))
{
temp = friend -> next;
}
temp -> next = temp -> next -> next;
free (delete);
}
에서
? –
프로그램을 실행하려고하면 런타임 오류가 발생합니다 ... 이 문제가 귀하가 싫어하면 정확한 오류를 보는 방법을 잘 모릅니다 ... –
왜 당신은 노드 자체에 대한 '다음'포인터? – Christoffer