比较常见的作用是,定义静态的变量.目的是将此值存入栈内,每一次调用都是使用上次的值.
另一个作用,就是和extern相对应的,static修饰的函数/变量表示只能用在声明范围内的文件里面,而不能被外界引用;
这样也避免了函数定义中命名冲突的情况.
比如,定义 int read();程序肯定会报错,因为read()是库函数;如果定义成 static int read();则不会报错了!
另二者定义的由来:
static 对应 auto; 但是我们平时写程序都会把auto省略的!
const 对应 volatile; 一个存储在寄存器中保持不变,而volatile存储在内存中,每次都是变化的!