Thắc mắc về stack với linked list trong C

Mình có 2 đoạn code sau: mong mọi người chỉ ra lỗi sai giúp

struct stack_entry 
{
    char *name;
    char *attribute;
    struct strack_entry *next;
};

// instance stack
struct stack_instance 
{
    struct stack_entry *head;
    size_t stack_size;
};

// create stack

struct stack_instance *newStack(void)
{
    struct stack_instance *stack = malloc(sizeof(*stack));
    if(stack)
    {
        stack->head = NULL;
        stack->stack_size = 0;
    }
    else
    {
        printf("create is not successful");
        return NULL;
    }
    return stack;
}

trong khi mình xây dựng hàm push, không hiểu sao, khi mình cập nhập lại định stack

struct stack_instance *a = newStack();
struct stack_entry *b = malloc(sizeof(*b));
đoạn này mình khởi tạo giá trị cho biên entry, sau đó
b->next = a->head; (không hiểu sao đoạn này lại báo lỗi: assignment from incompatible pointer type [-Wincompatible-pointer-types])
a->head = b;

Mong mọi người giúp, cám ơn nhiều

Do trong quá trình code, mình có nhẫm, ở chỗ

struct stack_entry 
{
    char *name;
    char *attribute;
    struct strack_entry *next;
};

lẽ ra phải là stack, mình nhẫm thành strack

Cám ơn mọi người

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?