2つの構造体があるとしましょう。
typedef struct name{
char*name;
struct test *next;
}name_t;
typedef struct test {
int grade;
int studentNumber;
struct test *next;
}test_t;
マーカーにはテストへのポインタがあります。リンクリストを作成するにはどうすればよいですか?
私はこれを試しました
name_t *marker1 = malloc(sizeof(name_t));
// added name from another function
test_t *temp= malloc(sizeof(test_t));
// add the grade and student number from another function
if(marker1->next==NULL)
marker1->next=temp;
しかし、それは私にエラーを与えます
これを修正するにはどうすればよいですか?リンクリストをコーディングするのはこれが初めてなので、助けていただければ幸いです。
編集:また、私は以下を関数にしました
void test(name_t* marker1,int data)
{
test_t *temp= malloc(sizeof(test_t));
test_t *location=NULL;
temp->grade=data;
temp->next=NULL;
location=marker1->next;
if(location==NULL)
{
// printf("%i \n",temp->grade);
marker1->next=temp;
}
else
{
while(location!=NULL)
{
printf("%i \n",location->grade);
printf("%p \n",location->next);
location=location->next;
}
location=temp;
}
}
なんらかの理由でリストを通過していないようです。なんで?