局部变量和参数位于栈上。在调用方法的时候,内存从栈的顶部开始分配,保存和方法关联的一些数据项。这块内存叫做方法的栈帧

■栈帧包含的内存保存如下内容。

    ●返回地址,也就是在方法退出的时候继续执行的位置。

    ●这些参数分配的内存,也就是方法的值参数,或者还可能是参数数组。

    ●各种和方法调用相关的其他管理数据项。

■在方法调用时,整个栈帧都会压入栈。

■在方法退出的时候,整个栈都会从栈上弹出。弹出栈帧有的时候也叫做栈展开。

 class Program
    {


        static void MethodA(int par1,int par2) {
            Console.WriteLine("Enter MethodA:{0},{1}",par1,par2);
            MethodB(11,18);
            Console.WriteLine("Exit MethodA");
        }


        static void MethodB(int par1,int par2) {
            Console.WriteLine("Enter MethodB:{0},{1}",par1,par2);
            Console.WriteLine("Exit MethodB");
        }


        static void Main(string[] args)
        {
            Console.WriteLine("Enter Main");
            MethodA(15,30);
            Console.WriteLine("Exit Main");
            Console.ReadKey();
        }

    }

栈帧(stack frame)栈帧(stack frame)


相关文章:

  • 2022-02-10
  • 2022-12-23
  • 2022-03-08
  • 2021-06-22
  • 2022-12-23
  • 2022-12-23
  • 2021-07-14
  • 2021-05-21
猜你喜欢
  • 2021-11-20
  • 2022-02-12
  • 2021-06-13
  • 2021-10-16
  • 2021-05-23
  • 2022-12-23
相关资源
相似解决方案