使用Linkedlist在C堆栈中的预期标识符

时间:2015-11-19 10:21:20

标签: c compiler-errors

我在尝试编译代码时遇到了一些错误。我的代码使用LinkedList和Pointers表示堆栈。错误标记为注释。我跳过了几种方法,因为错误发生在方法"创建新元素"

这是错误:

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;

1 个答案:

答案 0 :(得分:1)

item是一种类型,而不是变量。

使用

  temp->info = value;