#define GPIOA ((GPIO_TypeDef *) GPIOA_BASE)这句话的具体作用是什么啊

2019-08-18 19:04发布

#define GPIOA               ((GPIO_TypeDef *) GPIOA_BASE)这句话的具体作用是什么啊
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
18条回答
Admin
2019-08-18 22:28
 回复【3楼】 ping1185279685 :
---------------------------------
1. GPIOA    他要的是结构体指针类型,不是结构体类型。所以要加*
2. 第二个,就是c语言基础了:

引用如下:
  
结构(struct)
     结构是由基本数据类型构成的、并用一个标识符来命名的各种变量的组合。 
结构中可以使用不同的数据类型。 
    1. 结构说明和结构变量定义 
    在Turbo C中, 结构也是一种数据类型, 可以使用结构变量, 因此,  象其它 
类型的变量一样, 在使用结构变量时要先对其定义。 
    定义结构变量的一般格式为: 
     struct 结构名  [mw_shl_code=c,true] struct 结构名 { 类型 变量名; 类型 变量名; ... } 结构变量; [/mw_shl_code]
     } 结构变量; 
    结构名是结构的标识符不是变量名。 
    类型为第二节中所讲述的五种数据类型(整型、浮点型、字符型、指针型和 
无值型)。 
    构成结构的每一个类型变量称为结构成员, 它象数组的元素一样, 但数组中 
元素是以下标来访问的, 而结构是按变量名字来访问成员的。 
    下面举一个例子来说明怎样定义结构变量。 
[mw_shl_code=c,true] struct string { char name[8]; int age; char sex[2]; char depart[20]; float wage1, wage2, wage3, wage4, wage5; } person; [/mw_shl_code]

    这个例子定义了一个结构名为string的结构变量person,   如果省略变量名 
person, 则变成对结构的说明。用已说明的结构名也可定义结构变量。这样定义 
时上例变成: 
[mw_shl_code=c,true] struct string { char name[8]; int age; char sex[2]; char depart[20]; float wage1, wage2, wage3, wage4, wage5; }; struct string person; [/mw_shl_code]

    如果需要定义多个具有相同形式的结构变量时用这种方法比较方便, 它先作 
结构说明, 再用结构名来定义变量。 
    例如: 
     struct string Tianyr, Liuqi, ...; 
    如果省略结构名, 则称之为无名结构, 这种情况常常出现在函数内部, 用这 
种结构时前面的例子变成: 
[mw_shl_code=c,true] struct { char name[8]; int age; char sex[2]; char depart[20]; float wage1, wage2, wage3, wage4, wage5; } Tianyr, Liuqi; [/mw_shl_code]



一周热门 更多>