static:
作用:1、进行内部链接指定(将全局变量或者函数限定为在本文件内可用)
2、改变局部变量的生命周期(使得局部变量存储在静态区,在整个程序结束时才释放)
3、定义一个变量时,加上static前缀,定义的变量默认初始化为0;
extern:1、进行外部链接指定(使得全局变量或者函数在其他文件内也可以使用)
2、告诉编译器由extern声明的变量或者函数在其他的文件内)
3、我们知道,如果在一个文件内如果一个全局变量和一个局部变量名字相同,那么在局部变量所在的代码块内,我们优先使用局部变量,但是加上extern之后所代表的就是全局变量。
volatile:一般与const一块使用,例如:int const a=10;
因为加了const,所以编译器会将a“优化”为一个常量,而将a存储在栈上面。volatile int const a=10;加上volatile之后就是告诉编译器,不要把a优化成常量,所以在这种情况下a是可以被修改的。
本文出自 “11132019” 博客,请务必保留此出处http://11142019.blog.51cto.com/11132019/1760087
原文地址:http://11142019.blog.51cto.com/11132019/1760087