野火电子论坛

 找回密码
 注册

扫一扫,访问微社区

查看: 77|回复: 2

[F1-MINI] 定义结构体类型指针的成员调用问题

[复制链接]
发表于 2019-11-6 16:12:56 | 显示全部楼层 |阅读模式
在观看教程“构建库函数雏形”这一章节提供代码如下:(下面网址)

https://paste.ubuntu.com/p/dQF4DKv7Kf/

我们将GPIOA的地址赋给定义的结构体指针后(
#define GPIOA   ((GPIO_TypeDef *)GPIOA_BASE)
),为什么能保证在调用成员CRL,CRH等时能保证操作的是寄存器的实际物理地址呢?我的疑惑是我们只是将是结构体的首地址对应了呀,在定义结构体时也没有提及成员的地址啊。

希望有人能帮忙解答一下,谢谢。

回复

使用道具 举报

发表于 2019-11-7 10:08:56 | 显示全部楼层
结构体首地址 就是成员1 的地址   结构体成员的大小是已知的   比如成员都是init型成员   然后结构体地址为0   那么成员1 的地址是0   成员2 的地址是4  第三个是8 ...
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-11-7 10:22:01 | 显示全部楼层
wwhh 发表于 2019-11-7 10:08
结构体首地址 就是成员1 的地址   结构体成员的大小是已知的   比如成员都是init型成员   然后结构体地址为 ...

感谢,又看了一下,是我C语言不过关。谢谢你,我懂了。
回复 支持 反对

使用道具 举报

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

本版积分规则

野火电子公众号

手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号-2 大学生ARM嵌入式2群

GMT+8, 2019-11-22 00:16 , Processed in 0.108717 second(s), 29 queries , Gzip On.

野火电子论坛

© 2014-2016 www.firebbs.cn

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