如何在int数组中分配内存

int数组占用多少空间? 或者int数组消耗的空间(以字节为单位)看起来像这样:

int[] SampleArray=new int[]{1,2,3,4}; 

内存分配语言是否具体?

谢谢你们

由于你添加了很多语言标签,我想写C#。 在C#中,这取决于操作系统。

对于32位,每个int是4字节和4字节也用于引用对象,这使得4 * 4 + 4 = 20字节

对于64位,每个int是4字节和8字节也用于引用对象,这使得4 * 4 + 8 = 24字节

来自第22页的Nutshell中的C#5.0 ;

每个对象的引用都需要额外的四个或八个字节,具体取决于.NET运行时是在32位还是64位平台上运行。

在C ++中, new int[4]{1, 2, 3, 4}实际分配的内存量是实现定义的,但数组的大小将是sizeof(int)*4

问题是:内存分配语言是否具体? 是的内存分配是特定于语言的…根据语言而有所不同..对于exp:sizeof(int)* 4

在java中,int size是4byte,因此内存消耗为:4 * 4 = 16bytes

它取决于语言,而且取决于操作系统。

你需要4个整数。 通常一个整数是2或4个字节(大多数系统上大多数为4),但要确保检查sizeof(int)。

(还要记住,值可以根据操作系统的不同而不同),例如MSB优先或LSB优先(或者使用4字节时的混合)。

在Java中,int []数组是一个Object,它在内存中由标题(x86为8个字节)和int长度字段(4个字节)后跟int数组(arrayLength * 4)表示。

  approxSize = 8 + 4 + 4 * arraylength 

在这里查看更多内容http://www.javamex.com/tutorials/memory/object_memory_usage.shtml