计算机本科C语言第八章补充讲稿.ppt.pptVIP

  • 7
  • 0
  • 约6.23千字
  • 约 28页
  • 2018-06-29 发布于浙江
  • 举报
计算机本科C语言第八章补充讲稿.ppt

一、程序运行时的内存分布 当一个程序被启动运行时,操作系统会给程序分配一块内存空间。这块内存空间用于存放程序运行过程中的数据(包括程序的执行代码、程序中定义的常量和变量等)。根据存放内容的不同,这块内存可以分为四个区域:程序代码区、全局数据区、堆、栈。 例: #include stdio.h #include malloc.h int g; void main() {int local; int *p; p=(int *)malloc(sizeof(int)); *p=3; scanf(“%d%d”,g,local); printf(“%d”,g* local); free(p); } 二、函数调用的实现机制 1)栈:是一种后进先出的数据结构,在内存中栈的操作是最先放到栈中的内容最后才释放,而最后进栈的内容最先释放。 2)函数调用实现机制 例 //栈 void c(…) {…} void b(…) {… c(); …} void a() {… b(); …} main() {… a(); …} 上面程序运行过程中栈的变化: (1)开始为空 (3)主函数调用a函数,则在 存放主函数的栈空间上再为 a()申请一块空间,存放main() 的运行状态、返回地址和a函数 的局部变量,a()开始运行 (5)b()运行过程中调

文档评论(0)

1亿VIP精品文档

相关文档