初学者对栈的浅显理解

程序的栈是c重要的运行时函数,程序栈存放栈帧。栈帧用于存放函数参数和局部变量。相信学过c的人都知道,栈作为一种数据结构,是按照后进先出的原则存储数据。在内存中的栈分段中的地址是由上到下越来越小。

在我们声明多个参数时,参数是以与声明时相反的顺序推入栈中。以下代码简单的阐述了栈的后进先出的原则。

  1 #include<stdio.h>
  2
  3  int main(int argc,char**argv)
  4 {
  5 int var1;
  6 int var2;
  7 int var3;
  8
  9 printf("the address var1:%p\n",&var1);
 10 printf("the address var2:%p\n",&var2);
 11 printf("the address var3:%p\n",&var3);                                                                                                      

12     return 0;
 13}

程序执行结果如下:the address var1:0x7fffe986328c
the address var2:0x7fffe9863290
the address var3:0x7fffe9863294

如有错误之处,请不吝指正。

 

上一篇:Python07 循环


下一篇:JDK动态代理与Cglib动态代理