Я пытаюсь создать простой связанный список из целочисленного вектора. Почему это не работает? Ошибки я получаю:Ошибка в коде простого связанного списка
'=' : incompatible types - from 'talstrul *' to 'node *'
'=' : cannot convert from 'talstrul*' to talstrul'
Это .h файл:
#include <stdio.h>
#include <stdlib.h>
typedef struct
{
int num;
struct node *next;
} talstrul;
Это файл .c:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "clabb2head.h"
int main()
{ int vek[5] = {1,2,3,4,5};
int langd = sizeof(vek)/sizeof(vek[0]);
printf("%d",langd);
talstrul *temp = malloc(sizeof(talstrul));
talstrul *pek1 = NULL;
int i;
for(i=0; i<langd; i++)
{
pek1 -> num = vek[i];
pek1 -> next = *temp;
*temp = pek1;
}
}
1) Где определяется 'struct node'? 2) Почему вы ожидаете, что сможете присвоить '* temp' типа' talstrul' 'pek1-> next' типа' struct node * '? Их больше, но начнем. – jerry
Вам нужно изменить 'typedef struct {' to 'typedef struct node {'. Есть и другие ошибки, как указывают люди. –