전역변수란?

/* main.cpp */
#include <iostream>
using namespace std;

string globalVar;

void func1()
{
    globalVar = "Hi";
}
void func2()
{
    globalVar = "Bye";
}

int main(void)
{
    func1();
    func2();

    cout << globalVar << "\\n";
    return 0;
}

Extern

정적변수란?

지역변수 vs 정적변수

#include "main.h"
using namespace std;

int func1()
{
    int globalVar = 1;

    return globalVar++;
}

int main(void)
{
    cout << func1() << endl;
    cout << func1() << endl;

    return 0;
}
//결과
1
1
#include "main.h"
using namespace std;

int func1()
{
    static int globalVar = 1;

    return globalVar++;
}

int main(void)
{
    cout << func1() << endl;
    cout << func1() << endl;

    return 0;
}
//결과
1
2