gpt4 book ai didi

C 数据结构错误

转载 作者:太空宇宙 更新时间:2023-11-04 02:30:52 24 4
gpt4 key购买 nike

<分区>

我正在创建一个使用 C 中的基本堆栈的程序。在此,我在标题中定义了两个结构:

  1. 一个名为 Node 的结构,其成员是一个字符串和一个指向前一个 Node 的指针。
  2. 名为 Stack 的结构,其成员指向最后一个 Node。

    下面是我的头文件中这些结构的定义:

    #include <stdio.h>
    #include <stdlib.h>
    typedef struct Node {
    const char* string;
    struct Node *prev;
    };

    typedef struct Stack {
    size_t sizeOfStack;
    size_t sizeOfElem;
    struct Node *last;
    };

给我错误的一个方法是 CreateStack():

CreateStack:该函数创建一个栈(相当于一个构造函数)。

(a) 名称:CreateStack

(b) 返回类型:指向堆中分配的堆栈的指针。

这是我的实现

    Stack* CreateStack() {
Stack* stack = malloc(sizeof(*stack));
if (stack == NULL) {
return NULL;
}//end of if
stack->sizeOfElem = 0;
stack->sizeOfStack = 0;
stack->last = NULL;
return stack;
}//end of CreateStack

但是编译器吐出了这个:

错误:“Stack {aka struct Stack}”没有名为“last”的成员 堆栈->最后=节点;

错误:“Stack {aka struct Stack}”没有名为“last”的成员 node->prev = stack->last;

错误:“Stack {aka struct Stack}”没有名为“last”的成员 节点 *node = stack->last;

如果有人能指出这里的问题,我将不胜感激。我很困惑为什么它说 last 不是一个东西,但是在其他结构中以相同方式定义的 prev 不会引发标志。谢谢。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com