(摘自:http://www.itqun.net/content-detail/99263.html)
static关键字是C, C++中都存在的关键字, 它主要有三种使用方式, 其中前两种在C/C++...存储空间分配不同
auto类型分配在栈上, 属于动态存储类别, 占动态存储区空间, 函数调用结束后自动释放, 而static分配在静态存储区,在程序整个运行期间都不释放....(对于C++中的class对象例外, class的对象实例如果不初始化, 则会自动调用默认构造函数,不管是否是static类型)
特点: static局部变量的”记忆性”与生存期的”全局性”
所谓”记忆性...Local object的问题在于退出函数,生存期即结束,. 利用static的作用, 延长变量的生存期....普通的local变量的存储空间分配在stack上, 因此每次调用函数时, 分配的空间都可能不一样,而static具有全局唯一性的特点, 每次调用时, 都指向同一块内存, 这就造成一个很重要的问题 —-不可重入性