新しいノードをリンクされたプロファイルのリストに追加しようとしましたが(例えば、Facebookのプロフィールの場合)、起動時にランタイムエラーが発生します。これは私が持っているものです:リンクされたリストにノードを追加しようとしています
#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