先看一段代码:
{
...
6 bool flag;
7 int a = 12;
8 char c = 'k';
9 addToFirst(a, c);//把结果赋给第一个参数,引用传递
10 flag = 12 > a;
...
}
当运行到行9时,系统栈上新建一个栈帧,依次入栈:c,a,下一条指令地址,如下:
第10行代码指令地址//代码区调用指令的下一条指令地址压入栈中,供函数返回时继续执行 (栈顶)
a
c
...原先栈的内容(栈底)
具体可参考: 函数调用之堆栈原理 , 函数调用的压栈出栈过程
Linux 中的各种栈:进程栈 线程栈 内核栈 中断栈_Yakir Yang的博客-CSDN博客_内核栈
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)