int数组占用多少空间?或者int数组消耗的空间(以字节为单位)看起来像这样:
int[] SampleArray=new int[]{1,2,3,4};
内存分配语言是否具体?
谢谢大家
答案 0 :(得分:5)
由于你添加了很多语言标签,我想写C#。在C#中,这取决于操作系统。
对于32位,每个int
是4字节和4字节也用于引用对象,这使得4 * 4 + 4 = 20字节
对于64位,每个int
是4字节和8字节也用于引用对象,这使得4 * 4 + 8 = 24字节
来自第22页的C# 5.0 in a Nutshell;
每个对象的引用都需要额外的四个或八个字节, 取决于.NET运行时是在32位还是64位上运行 平台。
答案 1 :(得分:2)
在C ++中,实际分配的内存new int[4]{1, 2, 3, 4}
是实现定义的,但数组的大小为sizeof(int)*4
。
答案 2 :(得分:1)
问题是:内存分配语言是否具体? 是的内存分配是语言特定的...根据语言不同.. 对于exp: 的sizeof(int)的* 4
java中的int size是4byte,因此内存消耗为:4 * 4 = 16bytes
答案 3 :(得分:1)
它取决于语言,但还取决于操作系统。
你需要4个整数。通常一个整数是2或4个字节(在大多数系统中大多数为4),但要确保检查sizeof(int)。
(还要记住,值可以根据操作系统的不同而不同),如MSB优先或LSB优先(或者使用4字节的混合)。
答案 4 :(得分:1)
在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