c#栈变化规则 c#栈变化规则图解示例(栈的生长与消亡)

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

c#栈变化规则 c#栈变化规则图解示例(栈的生长与消亡)

  2021-03-20 我要评论
想了解c#栈变化规则图解示例(栈的生长与消亡)的相关内容吗,在本文为您仔细讲解c#栈变化规则的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:c#,栈变化规则,下面大家一起来学习吧。

栈的变化规则:

1、方法调用会导致栈的生长,具体包括两个步骤:一、插入方法返回地址(下图中的Fn:);二、将实际参数按值(可以使用ref或out修饰)拷贝并插入到栈中(可以使用虚参数访问)。
2、遇到局部变量定义会向栈中插入局部变量。
3、遇到return语句会导致栈消亡,一直消亡到方法返回地址,并把return的返回值设置到方法返回地址中。
4、这里先不考虑中括号导致的栈的消亡。



复制代码 代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace StackAndHeapStudy
{
    unsafe class Program
    {
        static void Main(string[] args)
        {
            var test = new TestClass();
            SetX(test);
            Console.WriteLine(*test.X);
            Console.WriteLine(*test.X);
        }

        private static void SetX(TestClass test)
        {
            var X = 10;

            test.X = &X;
        }
    }

    unsafe class TestClass
    {
        public int* X;
    }
}

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们