第3章

1.常量指针,指针常量

常量指针:指向常量的指针。int const *p;

指针常量:这个指针是个常量。int *const p;

可以这么记,常量(const),指针(*)。

2.作用域

编译器可以确认4中不同类型作用域:文件作用域、函数作用域、代码块作用域、原型作用域

3.链接属性

external、internal、none

全局变量默认拥有external链接属性;

static修饰的变量拥有internal链接属性;

函数体中的变量用于none链接属性。

4.存储类型

普通内存、运行堆栈、硬件寄存器

任何代码块外声明的变量总是存储于静态内存中。

注:静态变量的类型关键字是static。 静态变量当然是属于静态存储方式,但是属于静态存储方式的量不一定就是静态变量, 例如外部变量虽属于静态存储方式,但不一定是静态变量,必须由 static加以定义后才能成为静态外部变量,或称静态全局变量。 对于自动变量,它属于动态存储方式。 但是也可以用static定义它为静态自动变量,或称静态局部变量,从而成为静态存储方式。 由此看来,一个变量可由static进行再说明,并改变其原有的存储方式。

原文地址:https://www.cnblogs.com/wyc199288/p/5580707.html