存储类型:
1、用auto声明自动变量
例: int f(int a)
{
auto int b,c=3;
……
}
函数调用时自动分配内存空间,函数调用结束时自动释放这些空间。auto可以省略,定义变量时若没有声明存储类型,即默认为自动变量。
2、用static声明静态局部变量
有时希望函数中的局部变量的值在函数调用结束后不消失而保留原值,即其占用的存储单元不释放,在下一次该函数调用时,该变量保留上一次函数调用结束时的值。这时就应该指定该局部变量为静态局部变量。
3、用register声明寄存器变量
一般情况下,变量(包括静态存储方式和动态存储方式)的值是存放在内存中的。当程序用到哪一个变量的值时,由控制器发出指令将内存中该变量的值送到CPU中的运算器。经过运算器进行运算,如果需要存数,再从运算器将数据送到内存存放。
如果有一些变量使用频繁(例如在一个函数内执行1000次循环,每次循环中都要引用某局部变量),则为存取变量的值要花不少时间。为提高执行效率,C++允许将局部变量的值放在CPU的寄存器中,需要用时直接从寄存器中取出参加运算,不必再到内存中去存取。由于对寄存器的存取速度远高于对内存的存取速度,因此这样做可以提高执行效率。这种变量叫做寄存器变量,用关键字register作声明。