首页 新闻 会员 周边

指针问题

0
悬赏园豆:5 [已解决问题] 解决于 2009-02-23 19:36

在处理图片的时候看到代码

 BitmapData bmData = b.LockBits(new Rectangle(0, 0, b.Width,
            b.Height), ImageLockMode.ReadWrite,
            PixelFormat.Format24bppRgb);
          System.IntPtr Scan0 = bmData.Scan0;
                     unsafe
            {
                byte* p = (byte*)(void*)Scan0;

 

这里的(byte*)(void*)是什么意思?

 

mythzz的主页 mythzz | 初学一级 | 园豆:2
提问于:2009-02-20 14:31
< >
分享
最佳答案
0

一句话:C++中无类型指针---void *是万能指针。可以转化为其它的类型

注:

所有的指针,在windows系统下都是4个字节      
指针自加是和类型有关系,void不属于任何类型      
任意两个类型的指针之间都可以使用强制类型转换,但是指针指向的数据是否可以兼容两种类型是另外的问题

winzheng | 大侠五级 |园豆:8797 | 2009-02-20 17:21
其他回答(1)
0

把 IntPtr 类型的 Scan0 强制转换成 byte* 类型,也就是说指向 byte 类型的指针。当这样的类型指来指去的时候,按照1字节的长度前进或后退。

Angel Lucifer | 园豆:775 (小虾三级) | 2009-02-20 14:39
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册