mirror of
https://github.com/Light-City/CPlusPlusThings.git
synced 2026-04-13 17:50:59 +08:00
support bazel complie this project and format code.
This commit is contained in:
37
practical_exercises/10_day_practice/day2/static.cpp
Normal file
37
practical_exercises/10_day_practice/day2/static.cpp
Normal file
@@ -0,0 +1,37 @@
|
||||
/* 静态变量.cpp */
|
||||
#include <iostream>
|
||||
using namespace std;
|
||||
int i = 1; // i 为全局变量,具有静态生存期。
|
||||
int main(void) {
|
||||
static int a; // 静态局部变量,有全局寿命,局部可见。
|
||||
int b = -10; // b, c为局部变量,具有动态生存期。
|
||||
int c = 0;
|
||||
void other(void);
|
||||
cout << "---MAIN---\n";
|
||||
cout << " i: " << i << " a: " << a << " b: " << b << " c: " << c
|
||||
<< endl; // 1 0 -10 0
|
||||
c = c + 8;
|
||||
other(); // 33 4 0 15
|
||||
cout << "---MAIN---\n";
|
||||
cout << " i: " << i << " a: " << a << " b: " << b << " c: " << c
|
||||
<< endl; // 33 0 -10 8
|
||||
i = i + 10;
|
||||
other(); // 75 6 4 15
|
||||
other(); // 107 8 6 15
|
||||
|
||||
return 0;
|
||||
}
|
||||
void other(void) {
|
||||
static int a = 2;
|
||||
static int b;
|
||||
// a,b为静态局部变量,具有全局寿命,局部可见。
|
||||
//只第一次进入函数时被初始化。
|
||||
int c = 10; // C为局部变量,具有动态生存期
|
||||
//每次进入函数时都初始化。
|
||||
a = a + 2;
|
||||
i = i + 32;
|
||||
c = c + 5;
|
||||
cout << "---OTHER---\n";
|
||||
cout << " i: " << i << " a: " << a << " b: " << b << " c: " << c << endl;
|
||||
b = a;
|
||||
}
|
||||
Reference in New Issue
Block a user