该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

#include

#include

#include

#include

#define STACK_TYPE int

#define STACK_SIZE 100

#if 1

int top_element = 0;

STACK_TYPE stack[STACK_SIZE];

void push(STACK_TYPE value);

void pop(void);

STACK_TYPE top();

STACK_TYPE EEE();

STACK_TYPE is_full();

STACK_TYPE show_stack();

void push(STACK_TYPE value)

{

assert(!is_full());

top_element += 1;

stack[top_element]=value;

}

void pop(void)

{

assert(!EEE());

printf("pop()函数调用栈顶的值=%d\n", stack[top_element]);

top_element -= 1;

}

STACK_TYPE top()

{

assert(!EEE());

return stack[top_element];

}

STACK_TYPE EEE()

{

return top_element ==0;

}

STACK_TYPE is_full()

{

return top_element ==STACK_SIZE;

}

STACK_TYPE show_stack()

{

assert(!EEE());

int n = top_element;

while (top_element>0)

{

printf("栈元素%d=%d\n", top_element,top());

stack[top_element--];

}

top_element = n;//top_element = top_element +n;

return stack[top_element];

}

int main()

{

int n,m;

int i=100;

while (1)

{

printf("1.输入栈顶元素\n");

printf("2.删除栈顶元素\n");

printf("3.显示栈顶元素\n");

printf("4.显示所有栈元素\n");

printf("5.退出程序\n");

//scanf("%d", &n);

scanf("%d", &m);

switch (m)

{

case 1:

{

scanf("%d", &n);

int*p = (int*)malloc(sizeof(int)*n);

*p = n;

push(*p);

}

break;

case 2:

pop();

getchar();

break;

case 3:

printf("栈顶元素的值=%d\n",top());

getchar();

break;

case 4:

show_stack();

getchar();

break;

case 5:

exit(0);

break;

}

getchar();

//getchar();

system("cls");

}

//push(95);

//push(102);

//pop();

//printf("pop()函数调用后栈顶的值=%d\n", top());

getchar();

return 0;

}

c语言静态数组是什么意思,C语言静态数组实现栈操作相关推荐

  1. c语言多维数组指针地址讲解,C语言入门之多维数组的指针变量

    一.多维数组地址的表示方法 设有整型二维数组a[3][4]如下: 0 1 2 3 4 5 6 7 8 9 10 11 设数组a的首地址为1000,各下标变量的首地址及其值如图所示. 在前面曾经介绍过, ...

  2. Java语言程序设计 上机实验2 掌握Java的基本语言成分和流程控制语句。 掌握Java中数组的使用,理解引用数据类型。 掌握String类的使用。...

      Java语言程序设计 上机实验2 实验目的: 掌握Java的基本语言成分和流程控制语句. 掌握Java中数组的使用,理解引用数据类型. 掌握String类的使用. 实验内容: 注:标(*)为选做内 ...

  3. c语言定义不定长数组初始化_大学C语言期末考试练习题(带详解答案)(1)

    链接:https://pan.baidu.com/s/1d2Bb1vNTyBNpFGneIAicVw 提取码:y7uw 单项选择题 C语言的基本单位是 函数 1.(A  )是构成C语言程序的基本单位. ...

  4. java静态链表_静态链表及其创建(C语言实现)

    <顺序表和链表优缺点>一节,我们了解了两种存储结构各自的特点,那么,是否存在一种存储结构,可以融合顺序表和链表各自的优点,从而既能快速访问元素,又能快速增加或删除数据元素. 静态链表,也是 ...

  5. c语言动态的申请矩阵存储空间,C语言中二维数组如何申请动态分配内存

    C语言中二维数组如何申请动态分配内存: 使用malloc函数,先分配第一维的大小,然后再循环分配每一维的大小 #include #include int main() { int **a; int i ...

  6. 数组与字符串长度 — C语言经典方法

    阅读提示:文章比较冗长,若为了快速做题,请用常规方法sizeof和方法六计数器即可,其他对完成作业都没什么特别的意义,最后感谢您的点击与阅读- 文章目录 数组与字符串 1 数组 1.1 静态数组 (1 ...

  7. C语言入门系列之6.一维和二维数组

    数组 一.数组的概念 二.一维数组的定义与引用 1.一维数组定义 注意事项 常见错误 扩展:一维数组在内存中的存放 2.一维数组的引用 注意事项 3.一维数组的初始化 初始化赋值 动态赋值 三.二维数 ...

  8. 【C】C语言函数(包括:函数编写位置、数组作函数实参)

    函数概述 函数的分类 函数是C语言程序基本的组成单位,每个程序有且只能有一个主函数(main()),其他的函数都是子函数.按照不同的额分类标准,函数可以分成不同的类: 函数从是否有返回值,可以将函数分 ...

  9. c++把数组所有元素剔除_C语言基础之数组,第一节,C语言必学知识点剖析

    本文约1600字,主要讲了C语言基础之数组.数组又可分为数值数组.字符数组.指针数组.结构数组等各种类别.本文主要讲了数组的基础概念,一维数组的定义和引用. 带你进入C语言的世界,入门C语言,后边将持 ...

  10. Leetcode刷题 1441题: 用栈操作构建数组(基于python3和c++两种语言)

    Leetcode刷题 1441题: 用栈操作构建数组(基于python3和c++两种语言) ** 题目: ** 给你一个目标数组 target 和一个整数 n.每次迭代,需要从 list = {1,2 ...

最新文章

  1. 手撕一个spirng IoC的过程
  2. Linux确定命令的执行时长,Linux 历史命令显示执行时间
  3. 手机的次世代竞争年代
  4. linux下查看进度命令,在Linux系统中使用Coreutils Viewer显示命令运行进度
  5. Python爬虫的经典多线程方式,生产者与消费者模型
  6. 如果关闭一个窗体后激活另一个窗体的事件或方法
  7. 【Spark】SparkStreaming的应用及其原理
  8. java并发编程实战学习(3)--基础构建模块
  9. 【原】Docker学习_安装篇(一)
  10. java 压缩包添加文件,如何在Java中向现有zip文件添加条目?
  11. html5 自带video内存泄露_C++ 如何避免内存泄露?
  12. 【转】编程思想之多线程与多进程(1)——以操作系统的角度述说线程与进程
  13. 计算机更新有用吗,驱动有必要升级吗_n卡驱动有必要更新吗
  14. 牢记公式,ardupilot EKF2就是纸老虎(五)!
  15. 飞桨领航团西安回顾|技术干货大厂offer独家经验分享
  16. opengl学习笔记
  17. 计组实验3 mips冒险之流水线冒险
  18. css规则定义的分类,.css规则定义
  19. 活动实录 | 京东金融PE谈如何颠覆应用运维认知
  20. matlab中subplot函数用法

热门文章

  1. Hyper-V网络虚拟化--VM之间拷贝速度慢
  2. activity 的返回按钮
  3. 第一届数据库***大赛(欢迎大家共同讨论,发表自己的见解)
  4. 8.业务架构·应用架构·数据架构实战 --- 技术方案书
  5. 5.微服务:从设计到部署 --- 事件驱动数据管理
  6. 6.UNIX 环境高级编程--系统数据文件和信息
  7. .net core平台使用遇到的坑
  8. xxx系统的6大质量属性战术
  9. uartz Spring与Spring Task总结
  10. 整合Solr到Tomcat服务器,并配置IK分词