C语言栈在数组中的使用
时间: 2023-03-20 07:03:29 浏览: 115
C语言编写的栈(数组)
C语言中的栈可以通过数组来实现。使用数组来实现栈的基本原理是定义一个固定大小的数组,并使用一个变量来跟踪栈顶的位置。在向栈中压入元素时,将元素放入数组中栈顶位置的下一个位置,并将栈顶指针加一。在从栈中弹出元素时,将栈顶指针减一,并返回栈顶元素。
以下是一个使用数组实现栈的C语言代码示例:
```c
#define MAX_STACK_SIZE 100
int stack[MAX_STACK_SIZE];
int top = -1;
void push(int value) {
if (top < MAX_STACK_SIZE - 1) {
top++;
stack[top] = value;
} else {
printf("Stack overflow\n");
}
}
int pop() {
if (top >= 0) {
int value = stack[top];
top--;
return value;
} else {
printf("Stack underflow\n");
return -1;
}
}
int main() {
push(1);
push(2);
push(3);
printf("%d\n", pop()); // Output: 3
printf("%d\n", pop()); // Output: 2
printf("%d\n", pop()); // Output: 1
printf("%d\n", pop()); // Output: Stack underflow, -1
return 0;
}
```
阅读全文