静态局部变量

简介:

以前经常使用和了解static作用在全局变量前,以至于甚至把static当做全局变量的代名词,但是其实static还可以作用于局部变量前

静态局部变量的意义:

1.分配空间在全局数据栈上

2.作用域只局限于当前的函数范围内(局部)

3.生命周期为整个程序,不会随着当前的函数结束而结束

4.首次初始化时赋值生效,以后的初始化赋值自动跳过

void fn()

{
    static n=10;
    cout<<n<<endl;
    n++;
}

这里的n是一个静态局部变量,只有第一执行fn函数时会调用static n=10,以后都不会调用

 

有例子使用这种一次声明赋值的特性来实现单件

目录
相关文章
|
存储
C++-静态局部变量
C++-静态局部变量
|
3月前
|
存储 C语言
C语言:普通局部变量、普通全局变量、静态局部变量、静态全局变量的区别
C语言中,普通局部变量在函数内部定义,作用域仅限于该函数;普通全局变量在所有函数外部定义,作用域为整个文件;静态局部变量在函数内部定义但生命周期为整个程序运行期;静态全局变量在所有函数外部定义,但仅在定义它的文件内可见。
145 10
|
3月前
静态局部变量的作用域是怎样的
静态局部变量的作用域仅限于声明它的函数内部,但其生命周期贯穿整个程序运行期,初始化仅在第一次进入函数时进行。
|
3月前
|
编译器 开发者
什么是局部变量
【10月更文挑战第12天】什么是局部变量
93 1
|
3月前
|
CDN
局部变量
【10月更文挑战第3天】局部变量。
20 3
|
5月前
|
存储
全局变量和局部变量在堆和栈的区别
全局变量和局部变量在堆和栈的区别
521 0
|
8月前
|
C++
C++程序中的类成员函数
C++程序中的类成员函数
65 1
Thymelead th:with 局部变量
Thymelead th:with 局部变量
143 0
|
C++
39.【C/C++ 全局变量和局部变量 (详解)】
39.【C/C++ 全局变量和局部变量 (详解)】
90 0
|
存储
全局变量和局部变量
全局变量和局部变量
89 0