写一个栈的c语言模版
时间: 2023-03-01 18:36:14 浏览: 125
以下是一个简单的c语言栈模板:
```
#include <stdio.h>
#include <stdlib.h>
#define MAX_SIZE 100
struct Stack {
int data[MAX_SIZE];
int top;
};
void initStack(struct Stack *s) {
s->top = -1;
}
int isEmpty(struct Stack *s) {
return s->top == -1;
}
int isFull(struct Stack *s) {
return s->top == MAX_SIZE - 1;
}
void push(struct Stack *s, int item) {
if (isFull(s)) {
printf("Stack Overflow\n");
return;
}
s->data[++(s->top)] = item;
}
int pop(struct Stack *s) {
if (isEmpty(s)) {
printf("Stack Underflow\n");
return -1;
}
return s->data[(s->top)--];
}
int main() {
struct Stack s;
initStack(&s);
push(&s, 1);
push(&s, 2);
push(&s, 3);
while (!isEmpty(&s)) {
int item = pop(&s);
printf("%d ", item);
}
return 0;
}
```
请注意,上面的代码仅提供一个简单的栈模板,并不是最佳实践,您可以根据您的需求进行修改和扩展。