结构指针的疑问

[复制链接]
2128|8
 楼主| supernan 发表于 2011-8-25 18:54 | 显示全部楼层 |阅读模式
unsigned char FAT32_Buffer[512];
struct FAT_Item               
{
unsigned char Item[4];
};


struct FAT32_FAT
{
struct FAT_Item Items[128];  
};

void ******(unsigned long Curr_cluster)
{
   struct FAT_Item  *pItem;
   struct FAT32_FAT *pFat;
   pFat=(struct FAT32_FAT *)(FAT32_Buffer);//这样写没问题
   pItem=&(pFat->Items[Curr_cluster%128]);//这样写没问题
   但是这样写:
   pItem=&((struct FAT32_FAT *)(FAT32_Buffer)->Items[Curr_cluster%128]);//这样写为啥就会出现错误呢
}
栩栩如生 发表于 2011-8-25 19:01 | 显示全部楼层
直接用个二维数组代替
司徒老鹰 发表于 2011-8-25 19:06 | 显示全部楼层
把有问题的那句改成
pItem=&(((struct FAT32_FAT *)(FAT32_Buffer))->Items[Curr_cluster%128]);
zwll 发表于 2011-8-25 19:29 | 显示全部楼层
嗯,优先级问题
juventus9554 发表于 2011-8-25 19:34 | 显示全部楼层
优先级的问题,如楼上用()修饰一下就OK了
 楼主| supernan 发表于 2011-8-25 21:04 | 显示全部楼层
谢谢大家了
 楼主| supernan 发表于 2011-8-25 21:26 | 显示全部楼层
结贴光荣
金鱼木鱼 发表于 2011-9-6 00:01 | 显示全部楼层
经验啊这就是
 楼主| supernan 发表于 2011-9-8 09:26 | 显示全部楼层
是啊,我还是个菜鸟
您需要登录后才可以回帖 登录 | 注册

本版积分规则

730

主题

10412

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部