程序的栈是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
如有错误之处,请不吝指正。