内存指针分配,急啊
如何按照20递增的指针 在内存中分配 例如 第一小块的内存 指针为A 第二小块的内存 指针为A+20 依次递增 要求放到内存中,进程可以查询。根据20递增 查询指针 怎么做呢
[解决办法]
比如你分配100字节,那就一下分配好了,你那样每次20个,并不能保证每块都是连续的
Marshal.AllocHGlobal(100)
[解决办法]
public struct obj { public int a; } private void button1_Click(object sender, EventArgs e) { int intCount = 10; int objSize = Marshal.SizeOf(typeof(obj)); unsafe { IntPtr ip=Marshal.AllocHGlobal(intCount * objSize); obj* pObj = (obj*)ip.ToPointer(); obj* pOriginal = pObj; for (int i = 0; i < intCount; i++) { (*(pObj++)).a = i; } for (int i = 0; i < intCount; i++) { Console.WriteLine(pOriginal[i].a); } Marshal.FreeHGlobal(ip); } }
[解决办法]