-2
我在C以下结构:如何在C#中的C结构写的指针
typedef struct
{
int mode;
unsigned char *fs;//a pointer to sbyte[16]
unsigned char *flist;//a pointer to sbyte[128]
unsigned char *ival;//a pointer to sbyte[8]
unsigned char *ctx;//a pointer to sbyte[8]
int fin;
} mStruct;
,我需要它写在C#。我试图将其定义为:
[StructLayout(LayoutKind.Sequential,Pack=1)]
public struct avGostParam
{
public int mode;//a mode
public IntPtr fs;// does char* converts to IntPtr?
public IntPtr flist;//does char* converts to IntPtr?
public IntPtr ival;//does char* converts to IntPtr?
public IntPtr ctx;//does char* converts to IntPtr?
public int fin;
}
但这是错误的方法。你能帮我翻译成C#吗?
使用指针,我相信你必须标记你的代码为'unsafe',并允许在项目属性不安全的代码。 –
不,'IntPtr'不需要'unsafe'(不要问为什么)...代码是正确的。 – xanatos
为什么你需要指针?你只是想用一些数组作为成员来声明一个结构体?如果是这样,请使用数组,而不是指针。 – adv12