结构体疑惑求详解

2019-07-21 01:27发布

在学习usmart组件调试的时候有个疑惑,usmart.c中定义
struct _m_usmart_nametab
{
void* func; //????????
const u8* name; //??????(?é???®)  
};
在usmart_config.c中实现
struct _m_usmart_nametab usmart_nametab[]=
{
#if USMART_USE_WRFUNS==1 //????????????????×÷
(void*)read_addr,"u32 read_addr(u32 addr)",
(void*)write_addr,"void write_addr(u32 addr,u32 val)",  
#endif   
(void*)delay_ms,"void delay_ms(u16 nms)",
  (void*)delay_us,"void delay_us(u32 nus)",  
(void*)uart_init,"void uart_init(u32 bound)",
。。。。。。


结构体学的不精,请问结构体不是定义几个函数,实现的时候就实现几个函数吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
emWin
1楼-- · 2019-07-21 02:42
结构体里声明了2个指针成员,赋值的时候用了类型转换,这些量初始定义是什么,你可以自由控制的。
攻城狮
2楼-- · 2019-07-21 04:54
结构体跟C++的类差不多,只是结构体只能定义函数指针,并且在你定义结构体之后要不定义的函数指针赋值给结构体里面对应的函数指针,它们的返回类型和参数类型和个数必须一致。
sworssman
3楼-- · 2019-07-21 09:21
结构体只是定义的函数指针,定义了函数指针不就为了实现吗?
不明白想问什么……

一周热门 更多>