左移右移
左边的丢弃,右边的补零;右移左边会补符号位,右边舍弃。
联合体
多个成员共用一块内存,同一时间只有一个成员有值。
static
堆栈
栈增长的方向是小地址方向,由编译器分配,存放函数的参数值,局部变量,寄存器组(不同的单片机/处理器各有不同)、函数调用参数传递、中断异常产生时须保存处理器状态的寄存器值等
1.递归函数要慎用(函数嵌套不宜过深)2.尽量避免局部变量出现多个大数组。3.STM32中__get_MSP可以得到当前栈指针的值,据此可以做一定程度的栈溢出保护措施
左边的丢弃,右边的补零;右移左边会补符号位,右边舍弃。
多个成员共用一块内存,同一时间只有一个成员有值。
栈增长的方向是小地址方向,由编译器分配,存放函数的参数值,局部变量,寄存器组(不同的单片机/处理器各有不同)、函数调用参数传递、中断异常产生时须保存处理器状态的寄存器值等
1.递归函数要慎用(函数嵌套不宜过深)2.尽量避免局部变量出现多个大数组。3.STM32中__get_MSP可以得到当前栈指针的值,据此可以做一定程度的栈溢出保护措施