赞
踩
注意在声明完指针之后需要初始化。
- #include <stdio.h>
- #include <stdlib.h>
- #define STACK_SIZE 20
- #define APPEND_SIZE 20
-
- struct stack_t
- {
- int* base;
- int* top;
- int stacksize;
- };
-
- //压入数据
- void Push(stack_t *S, int data)
- {
- //满了就扩充
- if ((S->top - S->base) >= S->stacksize)
- {
- S->base = (int*)realloc(S->base, (STACK_SIZE + APPEND_SIZE) * sizeof(int));
- }
- *S->top = data;
- S->top++ ;
- }
- int Pop(stack_t *S, int data)
- {
- if (S->base == S->top)
- {
- exit(1);
- }
- data = *--S->top;
- return data;
- }
-
-
- int main()
- {
- stack_t* my_stack = new stack_t;
- my_stack->base = (int*)malloc(STACK_SIZE * sizeof(int));
- //my_stack->base = new int[STACK_SIZE];
- if (!my_stack->base)
- exit(1);
- my_stack->top = my_stack->base;
- my_stack->stacksize = STACK_SIZE;
- Push(my_stack, 2);
- Push(my_stack, 3);
- delete[] my_stack;
- }

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。