野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 23499|回复: 5

野火哥32教学视频里的小问题

[复制链接]
发表于 2021-1-12 11:17:16 | 显示全部楼层 |阅读模式
野火论坛202101121116327989..png
这里的GPIO_TypeDef是这个结构体的变量名而不是数据类型啊。
我的问题:如果只是变量名,那么不应该进行强制数据类型转换啊,它本身只是个变量的名字啊
回复

使用道具 举报

发表于 2021-1-12 13:41:55 | 显示全部楼层
这就是个数据类型       这种结构体变量的数据类型
回复 支持 反对

使用道具 举报

发表于 2021-1-12 16:25:43 | 显示全部楼层
c语言基础,这个看看书就好了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-12 19:17:40 | 显示全部楼层
wwhh 发表于 2021-1-12 13:41
这就是个数据类型       这种结构体变量的数据类型

谢谢回帖。
这是匿名结构体吗?分号前面的不应该是结构体变量吗
回复 支持 反对

使用道具 举报

发表于 2021-1-12 22:40:01 | 显示全部楼层
2915683887 发表于 2021-1-12 19:17
谢谢回帖。
这是匿名结构体吗?分号前面的不应该是结构体变量吗

看样子C语言基础不是太好哇,结构体GPIO_TypeDef,就是一种类型。你可以认为这是一个封装了7个成员的类型,里面成员是7个int。说的直白一点就是GPIO_TypeDef和int,char,short一样,都是一种数据类型定义,不是变量。如果是GPIO_TypeDef temp;那个temp才是结构体变量,才有空间,才可以使用如temp.CRL这个变量。就像是int a,你可以使用a,而不是使用int。
回复 支持 反对

使用道具 举报

发表于 2021-1-13 09:42:45 | 显示全部楼层
本帖最后由 ZZZ_XXJ 于 2021-1-13 09:43 编辑

typedef 定义的是类型名,相当于给一个类型重新定义一个名字
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-25 00:57 , Processed in 0.045554 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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