C#有没有类似C里面的函数malloc()呢?
请问在C#里面怎么为一组数据分配一块内存空间呢,有没有类似C里面的函数malloc()?
------解决方案--------------------byte[] d = new byte[10];
不过不用free。由系统自动回收。
你要做的就是使用完成后, d=null;
------解决方案--------------------Marshal.AllocHGlobal Method (Int32)
Allocates memory from the unmanaged memory of the process by using the specified number of bytes.
参考:
http://msdn.microsoft.com/en-us/library/s69bkh17.aspx
------解决方案--------------------
------解决方案--------------------在C++中,数组是先定义大小,然后分配空间,因此定义的时候就知道数组大小了。
而在C#中,数组定义时不指定大小,在初始化的时候给大小,因此定义时不知道大小,也谈不上分配空间。
所以C++中,结构体包含了数组也是固定大小的,但是C#中的结构体包含数组后,大小就动态了,导致无法直接对C#的这类结构体使用指针操作,太糟糕的设定。