OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5387|回复: 3

结构体疑惑求详解

[复制链接]

1

主题

1

帖子

0

精华

新手入门

积分
25
金钱
25
注册时间
2015-3-2
在线时间
0 小时
发表于 2015-10-7 16:17:56 | 显示全部楼层 |阅读模式
5金钱
在学习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)",
。。。。。。


结构体学的不精,请问结构体不是定义几个函数,实现的时候就实现几个函数吗?

最佳答案

查看完整内容[请看2#楼]

结构体里声明了2个指针成员,赋值的时候用了类型转换,这些量初始定义是什么,你可以自由控制的。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

18

主题

422

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1139
金钱
1139
注册时间
2014-5-24
在线时间
116 小时
发表于 2015-10-7 16:17:57 | 显示全部楼层
结构体里声明了2个指针成员,赋值的时候用了类型转换,这些量初始定义是什么,你可以自由控制的。
I See Fire.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.  只给方向,不妨碍思考
回复

使用道具 举报

2

主题

19

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2015-4-3
在线时间
0 小时
发表于 2015-10-8 21:10:41 | 显示全部楼层
结构体跟C++的类差不多,只是结构体只能定义函数指针,并且在你定义结构体之后要不定义的函数指针赋值给结构体里面对应的函数指针,它们的返回类型和参数类型和个数必须一致。
看不开,那就闭上眼;
回复

使用道具 举报

5

主题

32

帖子

0

精华

初级会员

Rank: 2

积分
90
金钱
90
注册时间
2015-10-2
在线时间
5 小时
发表于 2015-10-8 23:26:31 | 显示全部楼层
结构体只是定义的函数指针,定义了函数指针不就为了实现吗?
不明白想问什么……
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-25 09:38

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表