一、inline
inline关键字一般用于定义内联函数,函数也比较短小,只有几行代码。调用内联函数时,没有调用一般函数所必需的保护堆栈的开销,而是直接把它嵌入到调用函数中。
inline与宏定义十分相似,它们之间的区别:调用inline时会进行类型检查,而宏定义是没有类型检查的。
二、volatile
volatile在英语中的意思是”易变的“,用它定义的变量在程序编译阶段不做优化,每次都不必须从内存中读取变量的值。
三、static
static用于声明 “静态” ,经常用于定义变量与函数。
定义变量的作用:
1、限制变量的作用域:只能在当前文件(或函数)中使用。
2、延长变量的生存期:从程序运行开始就一直存在,如不是下电重启,将一直存在。
3、初始化变量:如果定义时不显式初始化,变量会被自动初始化为0
定义函数的作用:
1、限制函数的作用域:只能在当函数定义的文件中使用。
2、延长函数的生存期:从程序运行开始就一直存在,如不是下电重启,将一直存在。