静态全局变量和静态局部变量的区别
时间: 2024-05-28 08:11:54 浏览: 107
C++中的局部变量、全局变量、局部静态变量、全局静态变量的区别
静态全局变量和静态局部变量都是静态变量,它们的存储方式不同。
静态全局变量是指在全局作用域中声明的静态变量,它的作用域为整个源文件,可以被该文件中所有函数共享。静态全局变量的生命周期与程序的生命周期相同,即在程序开始执行时分配内存,在程序结束时释放内存。
静态局部变量是指在函数内部声明的静态变量,它的作用域仅限于该函数内部,但是它与非静态局部变量不同的是,它只会在函数第一次被调用时分配内存,并在程序结束时才会释放内存。在函数被调用时,静态局部变量会保持其上一次调用时的值不变。
总之,静态全局变量和静态局部变量都是静态变量,它们的区别在于作用域和生命周期不同。静态全局变量的作用域为整个源文件,生命周期与程序的生命周期相同;静态局部变量的作用域仅限于该函数内部,生命周期在程序执行期间只分配一次内存。
阅读全文