If you need an array in a struct for interop (like passing out to a DLL or something) you can do it like this:
public unsafe struct StructWithAnArray{ public fixed int ArrayField[100];}
You could only use this in an unsafe context and the type of the array can only be a native numeric value type (int, double, float, etc). ArrayField isn't an actual Array so you can't pass it to anything expecting a parameter of type System.Array and it doesn't have any properties like Length. Within your C# code, ArrayField is of type int* but sizeof(StructWithArray) will return 400.
I've never had occasion to actually do this so I have no idea what the pitfalls might be.