C# 在C中,将指针作为函数参数传递给指向结构的指针#
在C#中,如何将指向结构的指针作为函数参数传递 我试图使用DLL中的一个函数,它有一个参数作为双指针。例如C# 在C中,将指针作为函数参数传递给指向结构的指针#,c#,pointers,struct,parameter-passing,C#,Pointers,Struct,Parameter Passing,在C#中,如何将指向结构的指针作为函数参数传递 我试图使用DLL中的一个函数,它有一个参数作为双指针。例如 struct mystruct { int a; char b; }; [DllImport("mydll.dll")] private static extern int func_name(int a, char b, mystruct** c); 我想使用int*a这样的指针的正确方法是refinta。对于int**a,有没有类似的东西?我会做不同的工作。 任何指针都
struct mystruct
{
int a;
char b;
};
[DllImport("mydll.dll")]
private static extern int func_name(int a, char b, mystruct** c);
我想使用
int*a
这样的指针的正确方法是refinta
。对于int**a
,有没有类似的东西?我会做不同的工作。任何指针都应该用作 System.IntPtr 然后我会使用 Marshal.ptr结构
用于指针到实际结构的实际转换。否则,我也会考虑用偏移量拷贝字段,这有时更容易调试。 < P> <强>指针指向指针的CLR等效项是“代码> REF ItPTR < <强> >/P> 是指向整数的指针,当您通过
ref
传递它时,它通过引用传输,使其成为指向指针的指针
您可能还需要使用将指针转换为结构对象
有关更多信息,请参阅的底部标题为“手动编组”的部分