????????静态变量与?动变量的区别有哪些?
(1)自动变量
自动变量是在函数内部定义的变量,它们在函数被调用时动态分配内存空间,并在函数执行期间
存在。当函数执行完毕后,自动变量的内存会被自动释放。
(2)静态变量
静态变量是在函数内部或全局声明的变量,它们在程序的整个执行期间都存在。静态变量在内存
中被分配固定的存储空间,即使函数执行完毕,其值仍然保留。
(1)自动变量
自动变量的生命周期仅限于函数的执行期间。它们在函数开始时创建,在函数结束时销毁。
(2)静态变量
静态变量的生命周期与程序的运行时间相同。它们在程序开始执行时创建,并在程序结束时销毁。
(1)自动变量
自动变量的作用域仅限于定义它们的函数内部。其他函数无法访问或修改自动变量。
(2)静态变量
静态变量的作用域可以是函数内部或全局范围。在函数内部定义的静态变量只能在该函数内部
访问,而全局静态变量可以在整个程序中访问。
(1)自动变量
自动变量通常在函数被调用时进行初始化。如果没有提供初始化值,它们将被初始化为随机值。
(2)静态变量
静态变量只会在程序执行期间进行一次初始化,无论该变量被调用多少次。如果没有提供初始
化值,它们将被初始化为 0。
????????虽然静态局部变量的值在函数调?结束以后也是保持不变的,但是它不能被其他的函数所引?,只能在所在的函数中使?。