static全局变量与普通的全局变量有什么区别
时间: 2023-03-25 17:00:33 浏览: 207
static全局变量与普通的全局变量的区别在于作用域和生命周期。普通的全局变量在整个程序中都可以被访问,而static全局变量只能在定义它的文件中被访问。此外,普通的全局变量在程序运行期间一直存在,而static全局变量只在定义它的函数或文件的生命周期内存在,即在程序运行期间只被初始化一次,直到程序结束才被销毁。
相关问题
statac 全局变量、局部变量、函数与普通全局变量、局部变量、函数static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?
static 全局变量与普通全局变量的区别是,static全局变量可以在另一个文件中被访问,而普通全局变量只能在定义它的文件中被访问。 static局部变量和普通局部变量的区别是,static局部变量的值会在函数调用之间保持不变,而普通局部变量的值会随着函数调用而发生变化。static函数与普通函数的区别是,static函数只能在定义它的文件内被访问,而普通函数可以在另一个文件中被访问。
5、Static全局变量与普通全局变量的区别;Static局部变量与普通局部变量的区别;static函数与普通函数区别; C++ 类中static成员与非static成员变量区别。(10 分)
1. Static全局变量与普通全局变量的区别:
- 静态全局变量的作用域仅限于定义该变量的源文件内,也就是说,在同一源程序的其他源文件中不能使用它;
- 普通全局变量则可以被同一程序中的所有源文件共享。
2. Static局部变量与普通局部变量的区别:
- 静态局部变量在程序执行过程中只被创建一次,不会随着函数的退出而被销毁,仍然保存在内存中,下次调用函数时可以继续使用;
- 普通局部变量在每次函数调用时都会被重新创建,函数退出时会被销毁。
3. Static函数与普通函数区别:
- 静态函数只能在当前文件中使用,其他文件无法调用该函数;
- 普通函数可以被其他文件调用。
4. C++ 类中static成员与非static成员变量区别:
- 非static成员变量属于对象级别,每个类对象都有一份,不同对象的该变量值可以不同;
- static成员变量属于类级别,所有类对象共享一份,无论创建多少个类对象,该变量只有一份。而且,static成员变量必须在类外初始化,因为它不属于任何一个对象。
总的来说,static修饰的变量和函数都具有“静态”的特性,这种特性使得它们在内存中只有一份拷贝,可以被多次调用或共享使用。
阅读全文