10.3 存储类说明符

你已经遇到过一些可以放在变量前面的存储类说明符,如extern和static。下面将讨论更多的说明符,它们给出有关在程序中使用变量的编译器信息。

10.3.1 auto

这个关键字用来声明一个自动局部变量,与static相反。这是函数或方法内部变量的默认声明方式,并且没有人使用它。下面是一个例子:


auto int index;


该语句声明index为一个自动局部变量,意味着在进入该块(即一段位于花括号之内的语句、方法或函数序列)时,自动为它分配存储空间,并在退出该块时自动解除分配。因为在块中是默认的,因此语句


int index;


和语句


auto int index;


是等效的。

静态变量有默认的初始值0,而自动变量没有默认的初始值。除非显式地给自动变量赋值,否则它们的值是不确定的。