C语言基础知识(STM32开发)
目录
(1)位操作运算符
位操作运算符6种:与,或,异或,取反,左移,右移。
位与:有0为0
位或:有1为1
异或:一样为0,不一样为1
左移/右移:补0
(2)define
define 是宏定义关键词
是一种预处理命令
#define SYSCLK_72MHz 72000000
(3)ifdef / ifndef
ifdef/ifndef 条件编译
先要做个判断:
如果定义过这样的标识符,就编译程序一(不是执行程序)
如果没有定义过这样的标识符,就编译程序二(不是执行)
(4)extern
extern变量声明(声明,不是定义哦)
置于变量或函数前做声明,表示它的定义定义定义在其他文件中。
定义只能有一次,但声明可以有N多次。
(5)typedef
typedef 别名,给某种类型另外起个名字。
(6)struct
struct 结构体:把一堆变量放在一起。(同类型,不同类型的都可以)
同一类型的数据,可以用数组来组织表示
对于不同类型的数据,可以用结构体将他们组织到一起
并且,结构体的扩展性更强。临时加参数,修改定义+修改声明,无数个引用/调用的地方都要修改,修改量太大了。与之相比,在结构体里加成员变量就方便多了。
void GPIO_Init(u8 usartx, u32 BaudRate, u8 parity, u8 mode);
void GPIO_Init(u8 usartx, u32 BaudRate, u8 parity, u8 mode, u8 wordlength);
typedef struct
{
uint32_t USART_BaudRate;
uint16_t USART_WordLength;
uint16_t USART_StopBits;
uint16_t USART_Parity;
uint16_t USART_Mode;
uint16_t USART_HardwareFlowControl;
}USART_InitTypeDef;
void GPIO_Init(USART_TypeDef* USARTx, USART_InitTypeDef* USART_InitStruct);
(7)static
static声明局部变量,存储在静态存储区。
声明的变量被函数调用结束后不会被释放,它的值会一直保留下来。
static放在函数前面,表明该函数只是内部使用,不会用在外部。
static声明的局部变量具有记忆功能。
4045

被折叠的 条评论
为什么被折叠?



