刚学C语言,不太清楚->,|=,<<的意思和用法。望大神们指导,谢谢!!


RCC->APB2ENR |= 1 << 7; 谢谢了!!!!

->是结构体类型取成员变量
|=是c里面一种特殊的语法,比如a=a+2可以写成a+=2,而|的意思就是按位或,1|1=1,1|0=1,0|0=0,所以a|=2就等价于a = a | 2
而 << 表示位左移,就是把一个非浮点型数据转换成其二进制模式,然后整体向左移动,高位溢出丢弃,低位补0,比如11100110,左移两位就变成了10011000,而上面是左移七位。
所以整个表达是的意思是一个RCC(结构体指针)的成员变量APB2ENR,位或等于 1左移七位(就是10000000),用一个更简单的说法就是他要把一个结构体类型(RCC)的成员变量(APB2ENR)的第八位置1(因为任何数和1位或都为1)

多看看书就知道了,这些都是语法上比较基础的东西,适应需要一个过程
温馨提示:答案为网友推荐,仅供参考
相似回答