局部变量:指在程序中,只在特定过程或函数中可以访问的变量,是相对于全局变量而言的。在C++、C#、Ruby这些面向对象语言中,一般只使用局部变量。在面向对象编程中现在普遍采用的是软件开发方法,因此无需考虑是局部变量还是全局变量,说到变量,往往都是局部变量,局部变量只在局部起作用,超出了局部范围就会被释放。例如:

spacer.gifwKiom1YnlCfQEu28AACqijf0Z64652.jpg

结果为:

wKiom1YnlGyjEIeVAABDHhOe1DM354.jpg

static变量:static变量其中一个变量为,保持变量内容的持久。这是static变量和局部变量之间的区别,例如:

wKiom1YnlYjhgB7JAADB6LJTUqs057.jpg

结果为:

wKioL1YnlbORKm9DAAA_FkFannE619.jpg

局部变量和static变量之间的区别主要原因在于,局部变量存在于栈区,栈上的内容只在函数的范围内存在,当函数运行结束,这些内容也会自动被销毁,其特点是效率高,但空间大小有限。而static局部变量存在于静态区,静态区的内容在总个程序的生命周期内都存在,由编译器在编译的时候分配。