1. 静态局部变量
作⽤域: 限定在定义它的函数内。
⽣命周期: 与程序的⽣命周期相同,但只能在定义它的函数内部访问。
关键字: 使⽤ static 关键字修饰。
初始化: 仅在第⼀次调⽤函数时初始化,之后保持其值。
当希望在函数调⽤之间保留变量的值,并且不希望其他函数访问这个变量时,可以使⽤静态局部变量
void exampleFunction() {
static int count = 0; // 静态局部变量
count++;
cout << "Count: " << count << endl;
}
内存分布:存储在静态存储区(全局/静态区),程序启动时分配,结束时释放。
2. 全局变量
作⽤域: 整个程序。
⽣命周期: 与程序的⽣命周期相同。
关键字: 定义在全局作⽤域,不使⽤特定关键字。
当多个函数需要共享相同的数据时,可以使⽤全局变量。
int globalVar = 10; // 全局变量
void function1() {
globalVar++;
}
void function2() {
globalVar--;
}
内存分布:存储在静态存储区(全局/静态区),程序启动时分配,结束时释放。
3. 局部变量
作⽤域: 限定在定义它的块(⼤括号内)。
⽣命周期: 在块结束时销毁。
关键字: 定义在函数、语句块或类的成员函数中。
当变量只在某个特定作⽤域内有效,并且不需要其他作⽤域访问时,可以使⽤局部变量。
内存分布:存储在栈区,进入作用域时分配,退出时自动释放。
513

被折叠的 条评论
为什么被折叠?



