文章目录
一面
static作用,局部static和全局static区别
在C或C++编程语言中,static
关键字有几个不同的作用,具体取决于它被使用的环境。以下是static
的一些常见用法和它们的区别:
局部静态变量:
- 当
static
关键字用于一个局部变量(通常是函数内的变量),它改变了该变量的存储期为整个程序的生命周期,而不是函数调用的局部作用域。这意味着变量在函数调用结束后不会消失,其值会保留到下一次函数调用。 - 局部静态变量在首次创建时会被初始化,并且只会初始化一次。
- 当
全局静态变量:
- 全局静态变量是指在函数外部定义的静态变量。这种变量的生命周期同样是整个程序的运行期,但与局部静态变量不同,全局静态变量的作用域仅限于定义它的文件内部。也就是说,它们在其他文件中是不可见的,具有内部链接。
- 这可以用于模块化编程,防止不同模块间的全局变量名冲突。
静态函数:
- 当
static
关键字用于函数定义时,它限制了该函数的作用域,使其只能在定义它的文件内部被调用。这同样有助于避免不同文件中的函数名冲突,并且有助于模块化设计。
- 当
总结区别: