5-8万年薪顶级嵌入式,京沪深就业地 浅谈并行编程中的任务分解模式
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

请教语法问题?

楼主newsark(公子)2002-05-22 09:03:33 在 VC/MFC / 基础类 提问

struct   MESURE     //遥测  
  {  
  BYTE mesurel:   8;     //遥测值低字节  
  BYTE                 mesureh:   3;       //遥测值高字节  
  BYTE mesurec:   1;     //符号位  
  BYTE                 impotence:2;   //无效位  
  BYTE overflow:1;     //溢出  
  BYTE invalid:   1;     //无效  
  };  
  MESURE   *mesure1;  
   
  请问这句话是什么意思:  
  mesure1=(MESURE*)(&buf[inform+2]); 问题点数:20、回复次数:4Top

1 楼free_free(free_free)回复于 2002-05-22 09:11:11 得分 0

inform应该是个变量吧  
   
  (&buf[inform+2])应该是个地址  
   
   
  Top

2 楼step_by_step(脚印)回复于 2002-05-22 09:13:53 得分 0

因为buf不是MESURE*   类型的数组,所以要先强制类型转换后,再赋给mesurelTop

3 楼jimconrad(jimmy)回复于 2002-05-22 09:17:33 得分 15

buf大概是BYTE数组。这行代码是将buf的第inform+2个元素起到第inform+2+sizeof(   struct   MESURE   )-1   个元素止的sizeof(struct   MESURE)个元素看成一个MESURE结构,把该结构的指针(即第inform+2个元素的地址强制转换后)赋给变量mesure1这个指针。Top

4 楼step_by_step(脚印)回复于 2002-05-22 09:18:26 得分 0

因为buf是个数组首地址,不是MESURE*这个类型,所以在赋值前,先要进行强制类型转换。将其转换成MESURE*类型。我想buf很可能是char*型吧Top

5 楼ookook(黑暗之光)回复于 2002-05-22 09:30:03 得分 5

BUF数组分配了空间,&BUF取地址.  
  buf的第inform+2个元素起到第inform+2+sizeof(   struct   MESURE   )-1   个元素  
  的地址空间强制转换为MESURE   *型  
   
  Top

相关问题

  • 语法分析!
  • 语法错误???
  • 语法问题
  • 语法问题!!!
  • link的语法???????????????
  • 问点语法
  • case 语法
  • 清教语法
  • 语法问题
  • SQL 语法

关键词

  • 转换
  • mesure
  • 数组
  • 元素
  • 遥测
  • buf
  • 地址
  • 类型
  • inform+2
  • struct

得分解答快速导航

  • 帖主:newsark
  • jimconrad
  • ookook

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
x 提问