就没看明白你的问题是说的什么,如果是pinvoke场景中要和c语言的dll交换这样的一个结构的数据的话,定义方式应该是如下所示:
[StructLayoutAttribute(LayoutKind.Sequential)] public struct Student { /// char* [MarshalAsAttribute(UnmanagedType.LPStr)] public string name; /// int public int score; /// Student* public System.IntPtr next; }