У меня есть 2 разного stuctКак бы вы связать связанный список с различными структурами
typedef struct name {
char*markerName;
struct test *next;
}name_t;
typedef struct test {
int grade;
int studentNumber;
struct test *next;
}test_t;
и этой функция
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;
}
}
проблема мы создаем массив с именем stuct и создавая связанный список теста после КАЖДОГО ЭЛЕМЕНТА МАССЫ. Как связать узел имени структуры с тестом stuct?
Я напечатал следующий, и они продолжают указывать указатель NULL.
, так что нет возможного способа запустить связанный список с головой одного типа и остальной частью тела другого типа, кроме этого метода? – user2135885
о, спасибо, Союз помогает много. Я ненавижу, когда учебник просто дает вам код (и половину его), и предположим, что мы все c волшебником и можем понять, о чем они говорят. Этот союз делает трюк красиво Еще раз спасибо – user2135885
@ user2135885- Если ваш список будет содержать ровно одно 'struct name' в верхней части списка, а все остальное -' struct test', тогда подход на основе объединения не нужен. У вас может быть одно «struct name», которое имеет указатель на список объектов «struct test» («name» не будет частью списка, он просто укажет на него). Однако, если вам требуется больше одного типа структуры, вам понадобится нечто более сложное (например, объединение). – bta