如何在我需要获取指针的结构中创建数组
本文关键字:结构 创建 数组 指针 获取 | 更新日期: 2023-09-27 18:33:28
我需要在结构内创建一个数组,以便连接到嵌入式设备。因此,我们使用指向结构及其内部字段的指针......我尝试了下面的代码,但我应该只创建 100 个整数并完成吗?
[StructLayout( LayoutKind.Sequential )]
public struct HRTF
{
UInt32 PPP;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 100)]
UInt32[] taps;
. . .
}
. . .
HRTF effects = new HRTF();
/* --- ERROR cannot get address of, Sizeof ect ..to unmanaged typE 'HRTF' */
int offset = ((int)&effects.taps - startOffset) / 4;
int length = sizeof(HRTF) / 4;
fixed (uint* pt = effects.taps)
{
// pt is not pointer to taps
}
var bts = Marshal.SizeOf(effects); // bts has size of HRTF in bytes.
或
var bts = Marshal.SizeOf(typeof(HRTF));