我在面前一篇博客《C语言实现使用静态数组来构造栈结构》中使用了静态数组来模拟栈的操作。静态数组的大小是在代码中写死的,是存储在用户栈上面的,使用起来不灵活。在这篇博客中我会使用动态数组来构造,此时使用的内存是动态申请的,只是在数组的创建和释放上面有差别,其他的使用都一样。注意:动态申请的内存需要我们手动去释放,因为这些占用的内存是在运行时堆上,不会在程序退出后释放。而存放在栈上面的会在程序退出后自动释放。代码上传至 https://github.com/chenyufeng1991/Stack_DynamicArray 。
(1)创建栈
//创建栈,也就是为数组分配数组
void createStack(int size){
if (staticSize == 0) {
staticSize = size;
stack = (int *)malloc(staticSize * sizeof