int a[MAX] 是做什么的,它是什么意思

时间:2021-01-08 05:58:55

标签: c++

我说的是 public:

之后的第 4 行
class Stack {
        int top;
     
    public:
        int a[MAX]; // Maximum size of Stack
     
        Stack() { top = -1; }
        bool push(int x);
        int pop();
        int peek();
        bool isEmpty();
    };
     
    bool Stack::push(int x)
    {
        if (top >= (MAX - 1)) {
            cout << "Stack Overflow";
            return false;
        }
        else {
            a[++top] = x;
            cout << x << " pushed into stack\n";
            return true;
        }
    }

更新:因为其他人对此发表了评论,我只是想澄清一下,我知道什么是数组以及如何使用数组,并且我之前已经阅读过文档。我只是需要帮助来理解它是如何在类中使用的。 另外,我要感谢回答问题帮助我的人。非常感谢!

3 个答案:

答案 0 :(得分:1)

这声明了一个数组 a,它最多可以容纳 MAX 个元素,在这种情况下是整数,因为这是一个整数数组。

答案 1 :(得分:1)

<块引用>

int a[MAX] 的作用是什么

它是一个变量的声明,它的名字是a,类型是int[MAX],它是一个由MAXint元素组成的数组。

<块引用>

我只是需要帮助理解它是如何在类中使用的

当变量声明在类中时,它声明了一个成员变量。

答案 2 :(得分:-1)

C++ 中有两种(主要)类型的数组,

  • 静态数组(在编译时解析)。
  • 动态数组(在运行时解析)。

const SAMPLE2 = (values, split) => values.flatMap(r => { const temp = []; while (r.length > 0) temp.push(r.splice(0, split)); return temp.sort((a, b) => a[0] - b[0]); }); 是创建静态数组的方式。为此,必须在编译时知道大小。这些数组创建起来很快,一旦超出范围就会被销毁。

动态数组是在运行时创建的。这些数据结构必须手动销毁(一旦超出范围,这些数据结构不会自动销毁)。与创建静态数组相比,分配它们有点慢。要创建动态数组,您可以使用 int a[MAX]; 或使用 new[]/ delete[]。相同的数组可以实现为动态数组,如下所示:

malloc()/ free()

链接:What is an array?