Перед попыткой скомпилировать мой код я столкнулся с несколькими ошибками. Мой код представляет стек, используя LinkedList и указатели. Ошибки отмечены как комментарий. Я пропустил несколько методов, поскольку ошибка в методе «Создание нового элемента»Ожидаемый идентификатор в C-стеке с использованием связанного списка
Это ошибка:
In function ‘new_item’:
framework_stack.c:36:9: error: expected identifier or ‘(’ before ‘->’ token
item->info = value;
^
framework_stack.c:37:9: error: expected identifier or ‘(’ before ‘->’ token
item->ptr = NULL;
^
И код:
#include <stdio.h>
#include <stdlib.h>
struct node
{
int info;
struct node *ptr;
}*top,*top1,*temp;
typedef struct node item;
item *top = NULL;
// my methods
void push(item *elem);
void *pop();
void empty();
void create();
int count = 0;
void create()
{
top = NULL;
}
/* Creating new element */
item* new_item(int value)
{
item *temp = malloc(sizeof(item));
item->info = value; // HERE IS THE ERROR
item->ptr = NULL; // HERE IS THE ERROR
}
void push(item *elem)
{
if (top == NULL)
{
top = elem;
}
else
{
top->ptr = elem;
top = elem;
}
count++;
item* head = NULL;
'item-> info' должен быть' TEMP-> info' и 'пункт * top' дважды объявлен – BlackDwarf
Ах хорошо, спасибо. Где пункт * вверх объявляется дважды? Я использовал только элемент * top один раз – Blnpwr
Как только сразу после определения 'struct node' и один раз в' item * top = NULL; ' – BlackDwarf