打印

stm32之结构体,指针方面问题求解~~~

[复制链接]
261|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
那个叫黑的人|  楼主 | 2019-11-27 16:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
小弟最近在玩stm32,慢慢发现自己在C语言,尤其是对指针和结构体的理解方面有很多问题,如下是stm32-USB Device中的一段函数,恳请大神不惜赐教~~~
typedef struct _DEVICE_PROP  
{                     
  void (*Init)(void);//以这个函数指针为例:这个指针包含了(*Init)(void)这个函数的入口地址     
  void (*Reset)(void);      
  void (*Process_Status_IN)(void);
  void (*Process_Status_OUT)(void);
  RESULT (*Class_Data_Setup)(uint8_t RequestNo);
  RESULT (*Class_NoData_Setup)(uint8_t RequestNo);
  RESULT  (*Class_Get_Interface_Setting)(uint8_t Interface, uint8_t AlternateSetting);

  uint8_t* (*GetDeviceDescriptor)(uint16_t Length);
  uint8_t* (*GetConfigDescriptor)(uint16_t Length);
  uint8_t* (*GetStringDescriptor)(uint16_t Length);
  void* RxEP_buffer;  
  uint8_t MaxPacketSize;
} DEVICE_PROP;//按小弟理解:这里的DEVICE_PROP是一种数据类型(例如char类型),该数据类型包含很多函数指针而已~这样理解正确吗???
DEVICE_PROP Device_Property =
  {//这里DEVICE_PROP类型的Device_Propety,我是把它理解成结构体变量?还是该理解成结构体指针(地址)?
    MASS_init,
    MASS_Reset,//这里的地址与上面的函数指针一一对应???
    MASS_Status_In,
    MASS_Status_Out,
    MASS_Data_Setup,
    MASS_NoData_Setup,
    MASS_Get_Interface_Setting,
    MASS_GetDeviceDescriptor,
    MASS_GetConfigDescriptor,
    MASS_GetStringDescriptor,
    0,        0x40//那这里的0,0x40该如何理解?请大神指教~~~
  };

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

370

主题

370

帖子

0

粉丝