假设我在 C 中有以下代码表示堆栈:
#define MAX 1000
int arr[MAX];
static int counter = 0;
isstackempty()
{
return counter <= 0;
}
void push(int n)
{
if (counter >= MAX) {
printf("Stack is full. Couldn't push %d", n);
return;
}
arr[counter++] = n;
}
int pop(int* n)
{
if(isstackempty() || n == 0) {
printf("Stack is empty\n");
return 0;
}
*n = arr[--counter];
return 1;
}
上面的代码在一个stack.c
文件中,函数原型在一个头文件中。
现在,来自 C# 和 OO 背景,如果我想分隔stack
s 以在我的应用程序中使用,我会在 OO 语言中创建两个实例。但是在 C 中,你如何处理这样的场景呢?
假设我想stack
在我的 C 代码中使用两个单独的 s ......使用上面的代码,我该怎么做?