1.常量指针,指针常量
常量指针:指向常量的指针。int const *p;
指针常量:这个指针是个常量。int *const p;
可以这么记,常量(const),指针(*)。
2.作用域
编译器可以确认4中不同类型作用域:文件作用域、函数作用域、代码块作用域、原型作用域
3.链接属性
external、internal、none
全局变量默认拥有external链接属性;
static修饰的变量拥有internal链接属性;
函数体中的变量用于none链接属性。
4.存储类型
普通内存、运行堆栈、硬件寄存器
任何代码块外声明的变量总是存储于静态内存中。
注:静态变量的类型关键字是static。 静态变量当然是属于静态存储方式,但是属于静态存储方式的量不一定就是静态变量, 例如外部变量虽属于静态存储方式,但不一定是静态变量,必须由 static加以定义后才能成为静态外部变量,或称静态全局变量。 对于自动变量,它属于动态存储方式。 但是也可以用static定义它为静态自动变量,或称静态局部变量,从而成为静态存储方式。 由此看来,一个变量可由static进行再说明,并改变其原有的存储方式。