在C#中堆叠

本文关键字: | 更新日期: 2023-09-27 18:00:57

可能重复:
堆栈和堆栈是什么以及在哪里

在C#中,堆和堆栈之间存在差异。我刚刚意识到,我一直认为堆栈是RAM,堆是硬盘驱动器。但现在我不确定它是否正确。如果不是,那么如果它们存储在一个地方有什么区别?

在C#中堆叠

"堆栈"(或者更准确地说是调用堆栈(是自动管理的内存(即使在像C这样的"非托管语言"中也是如此(:局部变量存储在堆栈上的堆栈帧中,其中还包含过程或函数参数和返回地址,可能还有一些需要在返回时恢复的特定于机器的状态。

堆内存是RAM的一部分(或者更确切地说:虚拟地址空间(,用于满足动态内存分配(C中的malloc(。

然而,在C#中,堆和堆栈的使用是一个实现细节。然而,在实践中,引用类型的对象是堆分配的;值类型数据既可以存储在堆栈上,也可以存储在堆上,这取决于上下文(例如,如果它是引用类型对象的一部分(。

相关文章:
  • 没有找到相关文章