设计一个程序 程序中包含局部变量 全局静态变量全局变量函数局部静态变量
时间: 2024-02-13 08:03:17 浏览: 75
程序设计-局部变量与全局变量.pptx
好的,下面是一个示例程序,其中包含局部变量、全局变量、全局静态变量、局部静态变量以及函数:
```c++
#include <iostream>
// 全局变量
int globalVar = 10;
// 全局静态变量
static int globalStaticVar = 20;
// 函数声明
void exampleFunction();
int main() {
// 局部变量
int localVar = 30;
std::cout << "Global variable value: " << globalVar << std::endl;
std::cout << "Global static variable value: " << globalStaticVar << std::endl;
std::cout << "Local variable value: " << localVar << std::endl;
exampleFunction();
exampleFunction();
exampleFunction();
return 0;
}
// 函数定义
void exampleFunction() {
// 局部静态变量
static int staticVar = 0;
// 输出各个变量的值
std::cout << "Global variable value: " << globalVar << std::endl;
std::cout << "Global static variable value: " << globalStaticVar << std::endl;
std::cout << "Static variable value: " << staticVar << std::endl;
// 将静态变量递增
staticVar++;
}
```
在这个程序中,我们定义了一个全局变量 `globalVar` 和一个全局静态变量 `globalStaticVar`,它们可以在程序的任何地方访问。在 `main()` 函数中,我们定义了一个局部变量 `localVar`,它只能在 `main()` 函数中访问。
我们还定义了一个函数 `exampleFunction()`,其中包含一个局部静态变量 `staticVar`,它只能在 `exampleFunction()` 函数内部访问。
在 `main()` 函数中,我们输出了各个变量的值,并调用了三次 `exampleFunction()` 函数。在 `exampleFunction()` 函数中,我们输出了各个变量的值,并将静态变量 `staticVar` 递增。
运行结果如下所示:
```
Global variable value: 10
Global static variable value: 20
Local variable value: 30
Global variable value: 10
Global static variable value: 20
Static variable value: 0
Global variable value: 10
Global static variable value: 20
Static variable value: 1
Global variable value: 10
Global static variable value: 20
Static variable value: 2
```
我们可以看到,全局变量、全局静态变量、局部变量在任何地方都可以访问,而局部静态变量只能在函数内部访问。同时,全局变量和全局静态变量的值在整个程序的生命周期中都是保持不变的,而局部变量和局部静态变量的值只在函数调用期间存在。
阅读全文