当前位置: 代码迷 >> C语言 >> 考验各位的C中最经典的指针用的如何!
  详细解决方案

考验各位的C中最经典的指针用的如何!

热度:98   发布时间:2006-07-26 17:57:58.0
考验各位的C中最经典的指针用的如何!

有代码如下:

定义一个指针FrameBuffer:
unsigned char (*FrameBuffer)[800];

给指针赋值(一个固定的地址):
FrameBuffer = ( unsigned char (*)[800] )(0x30000000);

最后引用:
FrameBuffer[x][y]=color;


我现在定义了一个指针
unsigned char ** myframebuff;

myframebuff = FrameBuffer;
有问题,编译器编译出错。

各位C牛人帮我看看,谢谢了!

搜索更多相关的解决方案: 指针  经典  考验  

----------------解决方案--------------------------------------------------------

unsigned char ** myframebuff 与FrameBuffer 所指向的不是同一个类型


1.unsigned char ** myframebuff=(unsigned char**)FrameBuffer;

2.unsigned char (*myframebuff)[800]=FrameBuffer;

3.unsigned char *myframebuff=*FrameBuffer;

[此贴子已经被作者于2006-7-26 18:11:47编辑过]


----------------解决方案--------------------------------------------------------

问问题就说问问题.干嘛还考验我们?


----------------解决方案--------------------------------------------------------
提示: 作者被禁止或删除 内容自动屏蔽

2006-07-26 10:13:31
soft_wind

等 级:新手上路
威 望:8
帖 子:1430
专家分:0
注 册:2006-4-5
  得分:0 
以下是引用whwlxl在2006-7-26 17:57:58的发言:

有代码如下:

定义一个指针FrameBuffer:
unsigned char (*FrameBuffer)[800];  //这是个行指针,如unsigned char str[3][800],可以用FrameBuffer=&str[i];

给指针赋值(一个固定的地址):
FrameBuffer = ( unsigned char (*)[800] )(0x30000000);

最后引用:
FrameBuffer[x][y]=color;


我现在定义了一个指针
unsigned char ** myframebuff; //虽然同样是2级指针,但还是和上面有所不同.FrameBuffer限制了其指向的一维指针必须有800个元素。

myframebuff = FrameBuffer;
有问题,编译器编译出错。

各位C牛人帮我看看,谢谢了!


----------------解决方案--------------------------------------------------------

  相关解决方案