Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在int数组中分配内存_C#_Java_Arrays_Oop - Fatal编程技术网

C# 如何在int数组中分配内存

C# 如何在int数组中分配内存,c#,java,arrays,oop,C#,Java,Arrays,Oop,整数数组占用多少空间?或者一个int数组消耗多少空间(以字节为单位),如下所示: int[] SampleArray=new int[]{1,2,3,4}; 内存分配语言是特定的吗 谢谢C++中的所有< P>,内存多少 new int(4){ 1, 2, 3,4 } /CODE实际上分配的是实现定义,但是数组的大小将是代码> siZeof(int)*4 < /C> > < P/> < P>是:内存分配语言具体吗? 是的,内存分配是特定于语言的。它随语言而异。。 对于exp: 尺寸(整数)*4

整数数组占用多少空间?或者一个int数组消耗多少空间(以字节为单位),如下所示:

 int[] SampleArray=new int[]{1,2,3,4};
内存分配语言是特定的吗


谢谢C++中的所有

< P>,内存多少<代码> new int(4){ 1, 2, 3,4 } /CODE实际上分配的是实现定义,但是数组的大小将是代码> siZeof(int)*4 < /C> > < P/> < P>是:内存分配语言具体吗? 是的,内存分配是特定于语言的。它随语言而异。。 对于exp: 尺寸(整数)*4


在java中,int size是4字节,所以内存消耗是:4*4=16字节,这取决于语言和操作系统

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


(还请记住,值可以根据操作系统的不同而不同地表示),例如MSB first或LSB first(或者在使用4个字节的情况下混合使用)。

在Java int[]数组中,是一个对象,它在内存中由头(x86为8个字节)和int length字段(4个字节)表示,后跟int数组(arrayLength*4)


更多信息请参见这里

因为您添加了很多语言标记,我想为C#编写。在C#中,这取决于操作系统

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

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

摘自第22页

每个对对象的引用都需要额外的4或8个字节, 取决于.NET运行时是在32位还是64位上运行 站台


您忘记了
C
phtyon
标记。这是非常特定于语言的。在爪哇,有一个标题部分,它是固定大小的,并且是一个对齐的添加变量,所以它必须大于4位/*/jvm的元素号*++1。这个问题在C++中有C++标记。因此,我删除了标记。这使它成为80字节,因为我使用的是32位操作系统…您能解释一下字节以供参考吗?这就是我的位置stuckedAlso数组对象本身的12字节开销(对于32位代码)@MatthewWatson这12字节是干什么用的?
   approxSize = 8 + 4 + 4 * arraylength