我在尝试将以下代码从 C 移植到 C# 时遇到问题。使用 fixed 关键字和重新分配的 ptr 没有多大成功。有人可以告诉我如何在 c# 中表示以下代码吗?
p = &table[(i = start[k]) >> m];
i <<= tablebits;
n = k - tablebits;
/* make tree (n length) */
while (--n >= 0) {
if (*p == 0) {
right[avail] = left[avail] = 0;
*p = avail++;
}
if (i & 0x8000) p = &right[*p];
else p = &left[*p];
i <<= 1;
}
*p = j;