在C++中,存储了静态,动态和局部变量?在C和Java中怎么样?

bit*_*ion 3 c c++ java

在C++中,存储了静态,动态和局部变量?在C和Java中怎么样?

sho*_*osh 9

如果您正在编译C/C++以创建Windows可执行文件(或者可能用于任何x86系统),则静态和全局变量通常存储在称为数据段的内存段中.此内存通常也分为初始化的变量和程序在其定义中未初始化的变量.

函数内定义的局部变量在程序的运行堆栈上分配,并与函数的返回地址一起分配.

通过"动态"我假设你的意思是使用new或分配的东西malloc.这些通常存储在称为"堆"的另一个内存区域(与"堆"数据结构无关)

所有这些细节都是高度依赖平台的,通常,作为程序员,您甚至不需要了解它们.

  • +1(除了作为程序员你应该知道它们) (5认同)
  • 当然.绝对值得他们勇敢的任何C/C++"程序员"都知道他们的变量存储在哪里.它来自领土.对于托管语言,可以反过来说,但不能用于C/C++. (3认同)