我正在使用指针和结构体在C语言中实现栈。Push和crateStack函数工作良好(它们都在内存中创建新元素)。但是,pop函数不起作用,我不知道为什么。以下是该函数的代码:
int pop(element **lastStackEl)
{
int poppedValue = *lastStackEl->value;
element *temp = *lastStackEl->prev;
free(*lastStackEl);
*lastStackEl=temp;
return poppedValue;
}
这是我的结构体:
typedef struct Element {
int value;
struct Element *prev;
} element;
编译器在pop函数的第一行和第二行报错:
error: request for member 'value' in something not a structure or union
int poppedValue = *lastStackEl->value;