unsafe代码中如何操作数组指针?

Anakin_Skywalker 2010-07-22 03:03:13
有一个字节数组data[n],已知其中有一段data[m1]至data[m2]是char类型的,那么如何取到这个char[m2-m1]的数组的指针呢?
...全文
92 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
jointan 2010-08-02
  • 打赏
  • 举报
回复
什么叫数组的指针?没听说过,char**?

只能
fixed (Byte * pb = &data[m1])
{
char* pc = (char*)pb;
}

soaringbird 2010-08-02
  • 打赏
  • 举报
回复
Array.Copy(.....)


....
fixed(char* pa=YourArray)
{
char*p=pa;
......
}
jianuMan 2010-08-02
  • 打赏
  • 举报
回复
unsafe code

unsafe static void getaddress(byte []b)
{
fixed(byte *p0=b)
{
byte *p=p0;
for(int i=0;i <b.Length;i++)
{

Console.WriteLine( "a[{0}] 地址=0x{1:X}\t值={2} ",i,(uint)p,*p);
p++;

}

}
}


[STAThread]
static void Main(string[] args)
{
byte []a=new byte[]{1,2,3,4,5,6,7,8};
getaddress(a);
}
Anakin_Skywalker 2010-07-22
  • 打赏
  • 举报
回复
说白了就是,怎么按确定位置和长度取出byte[n]数组中的一段,并转化成char类型的数组指针
healer_kx 2010-07-22
  • 打赏
  • 举报
回复
C++的char是C#的byte。但是是无符号的。

110,537

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧